LookingGlass/vendor/directx/d3d12.h
Geoffrey McRae 34e8a2255e [host] dxgi: d3d12 now writes direclty into ivshmem
This is still incomplete as d3d12 doesn't have any proper sync with the
captured frame and as such is still not suggested for general usage. This
change though is monumental for this project as it removes a full memory
copy reducing bandwidth consumption enormously.
2024-01-27 22:57:13 +11:00

24321 lines
1.2 MiB

/*** Autogenerated by WIDL 8.17 from include/d3d12.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __d3d12_h__
#define __d3d12_h__
#ifndef __WIDL_INLINE
#if defined(__cplusplus) || defined(_MSC_VER)
#define __WIDL_INLINE inline
#elif defined(__GNUC__)
#define __WIDL_INLINE __inline__
#endif
#endif
/* Forward declarations */
#ifndef __ID3D12Object_FWD_DEFINED__
#define __ID3D12Object_FWD_DEFINED__
typedef interface ID3D12Object ID3D12Object;
#ifdef __cplusplus
interface ID3D12Object;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DeviceChild_FWD_DEFINED__
#define __ID3D12DeviceChild_FWD_DEFINED__
typedef interface ID3D12DeviceChild ID3D12DeviceChild;
#ifdef __cplusplus
interface ID3D12DeviceChild;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Pageable_FWD_DEFINED__
#define __ID3D12Pageable_FWD_DEFINED__
typedef interface ID3D12Pageable ID3D12Pageable;
#ifdef __cplusplus
interface ID3D12Pageable;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Heap_FWD_DEFINED__
#define __ID3D12Heap_FWD_DEFINED__
typedef interface ID3D12Heap ID3D12Heap;
#ifdef __cplusplus
interface ID3D12Heap;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Resource_FWD_DEFINED__
#define __ID3D12Resource_FWD_DEFINED__
typedef interface ID3D12Resource ID3D12Resource;
#ifdef __cplusplus
interface ID3D12Resource;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12CommandList_FWD_DEFINED__
#define __ID3D12CommandList_FWD_DEFINED__
typedef interface ID3D12CommandList ID3D12CommandList;
#ifdef __cplusplus
interface ID3D12CommandList;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
#define __ID3D12DescriptorHeap_FWD_DEFINED__
typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;
#ifdef __cplusplus
interface ID3D12DescriptorHeap;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12QueryHeap_FWD_DEFINED__
#define __ID3D12QueryHeap_FWD_DEFINED__
typedef interface ID3D12QueryHeap ID3D12QueryHeap;
#ifdef __cplusplus
interface ID3D12QueryHeap;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12CommandSignature_FWD_DEFINED__
#define __ID3D12CommandSignature_FWD_DEFINED__
typedef interface ID3D12CommandSignature ID3D12CommandSignature;
#ifdef __cplusplus
interface ID3D12CommandSignature;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
#define __ID3D12GraphicsCommandList_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
#define __ID3D12GraphicsCommandList1_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList2_FWD_DEFINED__
#define __ID3D12GraphicsCommandList2_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList2 ID3D12GraphicsCommandList2;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList2;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12ProtectedSession_FWD_DEFINED__
#define __ID3D12ProtectedSession_FWD_DEFINED__
typedef interface ID3D12ProtectedSession ID3D12ProtectedSession;
#ifdef __cplusplus
interface ID3D12ProtectedSession;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12ProtectedResourceSession_FWD_DEFINED__
#define __ID3D12ProtectedResourceSession_FWD_DEFINED__
typedef interface ID3D12ProtectedResourceSession ID3D12ProtectedResourceSession;
#ifdef __cplusplus
interface ID3D12ProtectedResourceSession;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList3_FWD_DEFINED__
#define __ID3D12GraphicsCommandList3_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList3 ID3D12GraphicsCommandList3;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList3;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12CommandQueue_FWD_DEFINED__
#define __ID3D12CommandQueue_FWD_DEFINED__
typedef interface ID3D12CommandQueue ID3D12CommandQueue;
#ifdef __cplusplus
interface ID3D12CommandQueue;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12RootSignature_FWD_DEFINED__
#define __ID3D12RootSignature_FWD_DEFINED__
typedef interface ID3D12RootSignature ID3D12RootSignature;
#ifdef __cplusplus
interface ID3D12RootSignature;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12PipelineState_FWD_DEFINED__
#define __ID3D12PipelineState_FWD_DEFINED__
typedef interface ID3D12PipelineState ID3D12PipelineState;
#ifdef __cplusplus
interface ID3D12PipelineState;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Fence_FWD_DEFINED__
#define __ID3D12Fence_FWD_DEFINED__
typedef interface ID3D12Fence ID3D12Fence;
#ifdef __cplusplus
interface ID3D12Fence;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Fence1_FWD_DEFINED__
#define __ID3D12Fence1_FWD_DEFINED__
typedef interface ID3D12Fence1 ID3D12Fence1;
#ifdef __cplusplus
interface ID3D12Fence1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12CommandAllocator_FWD_DEFINED__
#define __ID3D12CommandAllocator_FWD_DEFINED__
typedef interface ID3D12CommandAllocator ID3D12CommandAllocator;
#ifdef __cplusplus
interface ID3D12CommandAllocator;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device_FWD_DEFINED__
#define __ID3D12Device_FWD_DEFINED__
typedef interface ID3D12Device ID3D12Device;
#ifdef __cplusplus
interface ID3D12Device;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
#define __ID3D12PipelineLibrary_FWD_DEFINED__
typedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary;
#ifdef __cplusplus
interface ID3D12PipelineLibrary;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
#define __ID3D12PipelineLibrary1_FWD_DEFINED__
typedef interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1;
#ifdef __cplusplus
interface ID3D12PipelineLibrary1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device1_FWD_DEFINED__
#define __ID3D12Device1_FWD_DEFINED__
typedef interface ID3D12Device1 ID3D12Device1;
#ifdef __cplusplus
interface ID3D12Device1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device2_FWD_DEFINED__
#define __ID3D12Device2_FWD_DEFINED__
typedef interface ID3D12Device2 ID3D12Device2;
#ifdef __cplusplus
interface ID3D12Device2;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device3_FWD_DEFINED__
#define __ID3D12Device3_FWD_DEFINED__
typedef interface ID3D12Device3 ID3D12Device3;
#ifdef __cplusplus
interface ID3D12Device3;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
#define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer;
#ifdef __cplusplus
interface ID3D12RootSignatureDeserializer;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
#define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
typedef interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer;
#ifdef __cplusplus
interface ID3D12VersionedRootSignatureDeserializer;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device4_FWD_DEFINED__
#define __ID3D12Device4_FWD_DEFINED__
typedef interface ID3D12Device4 ID3D12Device4;
#ifdef __cplusplus
interface ID3D12Device4;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12LifetimeOwner_FWD_DEFINED__
#define __ID3D12LifetimeOwner_FWD_DEFINED__
typedef interface ID3D12LifetimeOwner ID3D12LifetimeOwner;
#ifdef __cplusplus
interface ID3D12LifetimeOwner;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12SwapChainAssistant_FWD_DEFINED__
#define __ID3D12SwapChainAssistant_FWD_DEFINED__
typedef interface ID3D12SwapChainAssistant ID3D12SwapChainAssistant;
#ifdef __cplusplus
interface ID3D12SwapChainAssistant;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12LifetimeTracker_FWD_DEFINED__
#define __ID3D12LifetimeTracker_FWD_DEFINED__
typedef interface ID3D12LifetimeTracker ID3D12LifetimeTracker;
#ifdef __cplusplus
interface ID3D12LifetimeTracker;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12StateObject_FWD_DEFINED__
#define __ID3D12StateObject_FWD_DEFINED__
typedef interface ID3D12StateObject ID3D12StateObject;
#ifdef __cplusplus
interface ID3D12StateObject;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12StateObjectProperties_FWD_DEFINED__
#define __ID3D12StateObjectProperties_FWD_DEFINED__
typedef interface ID3D12StateObjectProperties ID3D12StateObjectProperties;
#ifdef __cplusplus
interface ID3D12StateObjectProperties;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device5_FWD_DEFINED__
#define __ID3D12Device5_FWD_DEFINED__
typedef interface ID3D12Device5 ID3D12Device5;
#ifdef __cplusplus
interface ID3D12Device5;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
#define __ID3D12DeviceRemovedExtendedDataSettings_FWD_DEFINED__
typedef interface ID3D12DeviceRemovedExtendedDataSettings ID3D12DeviceRemovedExtendedDataSettings;
#ifdef __cplusplus
interface ID3D12DeviceRemovedExtendedDataSettings;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
#define __ID3D12DeviceRemovedExtendedDataSettings1_FWD_DEFINED__
typedef interface ID3D12DeviceRemovedExtendedDataSettings1 ID3D12DeviceRemovedExtendedDataSettings1;
#ifdef __cplusplus
interface ID3D12DeviceRemovedExtendedDataSettings1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
#define __ID3D12DeviceRemovedExtendedData_FWD_DEFINED__
typedef interface ID3D12DeviceRemovedExtendedData ID3D12DeviceRemovedExtendedData;
#ifdef __cplusplus
interface ID3D12DeviceRemovedExtendedData;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
#define __ID3D12DeviceRemovedExtendedData1_FWD_DEFINED__
typedef interface ID3D12DeviceRemovedExtendedData1 ID3D12DeviceRemovedExtendedData1;
#ifdef __cplusplus
interface ID3D12DeviceRemovedExtendedData1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
#define __ID3D12DeviceRemovedExtendedData2_FWD_DEFINED__
typedef interface ID3D12DeviceRemovedExtendedData2 ID3D12DeviceRemovedExtendedData2;
#ifdef __cplusplus
interface ID3D12DeviceRemovedExtendedData2;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device6_FWD_DEFINED__
#define __ID3D12Device6_FWD_DEFINED__
typedef interface ID3D12Device6 ID3D12Device6;
#ifdef __cplusplus
interface ID3D12Device6;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12ProtectedResourceSession1_FWD_DEFINED__
#define __ID3D12ProtectedResourceSession1_FWD_DEFINED__
typedef interface ID3D12ProtectedResourceSession1 ID3D12ProtectedResourceSession1;
#ifdef __cplusplus
interface ID3D12ProtectedResourceSession1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device7_FWD_DEFINED__
#define __ID3D12Device7_FWD_DEFINED__
typedef interface ID3D12Device7 ID3D12Device7;
#ifdef __cplusplus
interface ID3D12Device7;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device8_FWD_DEFINED__
#define __ID3D12Device8_FWD_DEFINED__
typedef interface ID3D12Device8 ID3D12Device8;
#ifdef __cplusplus
interface ID3D12Device8;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Resource1_FWD_DEFINED__
#define __ID3D12Resource1_FWD_DEFINED__
typedef interface ID3D12Resource1 ID3D12Resource1;
#ifdef __cplusplus
interface ID3D12Resource1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Resource2_FWD_DEFINED__
#define __ID3D12Resource2_FWD_DEFINED__
typedef interface ID3D12Resource2 ID3D12Resource2;
#ifdef __cplusplus
interface ID3D12Resource2;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Heap1_FWD_DEFINED__
#define __ID3D12Heap1_FWD_DEFINED__
typedef interface ID3D12Heap1 ID3D12Heap1;
#ifdef __cplusplus
interface ID3D12Heap1;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12MetaCommand_FWD_DEFINED__
#define __ID3D12MetaCommand_FWD_DEFINED__
typedef interface ID3D12MetaCommand ID3D12MetaCommand;
#ifdef __cplusplus
interface ID3D12MetaCommand;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList4_FWD_DEFINED__
#define __ID3D12GraphicsCommandList4_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList4 ID3D12GraphicsCommandList4;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList4;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12ShaderCacheSession_FWD_DEFINED__
#define __ID3D12ShaderCacheSession_FWD_DEFINED__
typedef interface ID3D12ShaderCacheSession ID3D12ShaderCacheSession;
#ifdef __cplusplus
interface ID3D12ShaderCacheSession;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device9_FWD_DEFINED__
#define __ID3D12Device9_FWD_DEFINED__
typedef interface ID3D12Device9 ID3D12Device9;
#ifdef __cplusplus
interface ID3D12Device9;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device10_FWD_DEFINED__
#define __ID3D12Device10_FWD_DEFINED__
typedef interface ID3D12Device10 ID3D12Device10;
#ifdef __cplusplus
interface ID3D12Device10;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
#define __ID3D12VirtualizationGuestDevice_FWD_DEFINED__
typedef interface ID3D12VirtualizationGuestDevice ID3D12VirtualizationGuestDevice;
#ifdef __cplusplus
interface ID3D12VirtualizationGuestDevice;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Tools_FWD_DEFINED__
#define __ID3D12Tools_FWD_DEFINED__
typedef interface ID3D12Tools ID3D12Tools;
#ifdef __cplusplus
interface ID3D12Tools;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12SDKConfiguration_FWD_DEFINED__
#define __ID3D12SDKConfiguration_FWD_DEFINED__
typedef interface ID3D12SDKConfiguration ID3D12SDKConfiguration;
#ifdef __cplusplus
interface ID3D12SDKConfiguration;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList5_FWD_DEFINED__
#define __ID3D12GraphicsCommandList5_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList5 ID3D12GraphicsCommandList5;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList5;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList6_FWD_DEFINED__
#define __ID3D12GraphicsCommandList6_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList6 ID3D12GraphicsCommandList6;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList6;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList7_FWD_DEFINED__
#define __ID3D12GraphicsCommandList7_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList7 ID3D12GraphicsCommandList7;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList7;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <oaidl.h>
#include <ocidl.h>
#include <dxgi.h>
#include <d3dcommon.h>
#ifdef __cplusplus
extern "C" {
#endif
#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_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1 (1000000)
#define D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2 (1000000)
#define D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE (2048)
#define D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP (17)
#define D3D12_MAX_VIEW_INSTANCE_COUNT (4)
#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_PREVIEW_SDK_VERSION (702)
#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 (0x0)
#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_RAYTRACING_AABB_BYTE_ALIGNMENT (8)
#define D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT (256)
#define D3D12_RAYTRACING_INSTANCE_DESCS_BYTE_ALIGNMENT (16)
#define D3D12_RAYTRACING_MAX_ATTRIBUTE_SIZE_IN_BYTES (32)
#define D3D12_RAYTRACING_MAX_DECLARABLE_TRACE_RECURSION_DEPTH (31)
#define D3D12_RAYTRACING_MAX_GEOMETRIES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE (16777216)
#define D3D12_RAYTRACING_MAX_INSTANCES_PER_TOP_LEVEL_ACCELERATION_STRUCTURE (16777216)
#define D3D12_RAYTRACING_MAX_PRIMITIVES_PER_BOTTOM_LEVEL_ACCELERATION_STRUCTURE (536870912)
#define D3D12_RAYTRACING_MAX_RAY_GENERATION_SHADER_THREADS (1073741824)
#define D3D12_RAYTRACING_MAX_SHADER_RECORD_STRIDE (4096)
#define D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT (32)
#define D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT (64)
#define D3D12_RAYTRACING_TRANSFORM3X4_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_RS_SET_SHADING_RATE_COMBINER_COUNT (2)
#define D3D12_SDK_VERSION (602)
#define D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES (32)
#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_TRACKED_WORKLOAD_MAX_INSTANCES (32)
#define D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT (4096)
#define D3D12_UAV_SLOT_COUNT (64)
#define D3D12_UNBOUND_MEMORY_ACCESS_RESULT (0)
#define D3D12_VIDEO_DECODE_MAX_ARGUMENTS (10)
#define D3D12_VIDEO_DECODE_MAX_HISTOGRAM_COMPONENTS (4)
#define D3D12_VIDEO_DECODE_MIN_BITSTREAM_OFFSET_ALIGNMENT (256)
#define D3D12_VIDEO_DECODE_MIN_HISTOGRAM_OFFSET_ALIGNMENT (256)
#define D3D12_VIDEO_DECODE_STATUS_MACROBLOCKS_AFFECTED_UNKNOWN (0xffffffff)
#define D3D12_VIDEO_PROCESS_MAX_FILTERS (32)
#define D3D12_VIDEO_PROCESS_STEREO_VIEWS (2)
#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
#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))
typedef enum D3D12_SHADER_MIN_PRECISION_SUPPORT {
D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0x0,
D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1,
D3D12_SHADER_MIN_PRECISION_SUPPORT_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_TIER_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_TIER_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_CROSS_NODE_SHARING_TIER {
D3D12_CROSS_NODE_SHARING_TIER_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_3 = 4
} D3D12_CROSS_NODE_SHARING_TIER;
typedef enum D3D12_RESOURCE_HEAP_TIER {
D3D12_RESOURCE_HEAP_TIER_1 = 1,
D3D12_RESOURCE_HEAP_TIER_2 = 2
} D3D12_RESOURCE_HEAP_TIER;
typedef enum D3D12_FORMAT_SUPPORT1 {
D3D12_FORMAT_SUPPORT1_NONE = 0x0,
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 = 0x0,
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_MULTIPLANE_OVERLAY = 0x4000,
D3D12_FORMAT_SUPPORT2_SAMPLER_FEEDBACK = 0x8000
} D3D12_FORMAT_SUPPORT2;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_FORMAT_SUPPORT2);
typedef enum D3D12_WRITEBUFFERIMMEDIATE_MODE {
D3D12_WRITEBUFFERIMMEDIATE_MODE_DEFAULT = 0x0,
D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_IN = 0x1,
D3D12_WRITEBUFFERIMMEDIATE_MODE_MARKER_OUT = 0x2
} D3D12_WRITEBUFFERIMMEDIATE_MODE;
typedef enum D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER {
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_NOT_SUPPORTED = 0x0,
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1 = 0x1,
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_2 = 0x2
} D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER;
typedef enum D3D12_SHADER_CACHE_SUPPORT_FLAGS {
D3D12_SHADER_CACHE_SUPPORT_NONE = 0x0,
D3D12_SHADER_CACHE_SUPPORT_SINGLE_PSO = 0x1,
D3D12_SHADER_CACHE_SUPPORT_LIBRARY = 0x2,
D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_INPROC_CACHE = 0x4,
D3D12_SHADER_CACHE_SUPPORT_AUTOMATIC_DISK_CACHE = 0x8,
D3D12_SHADER_CACHE_SUPPORT_DRIVER_MANAGED_CACHE = 0x10,
D3D12_SHADER_CACHE_SUPPORT_SHADER_CONTROL_CLEAR = 0x20,
D3D12_SHADER_CACHE_SUPPORT_SHADER_SESSION_DELETE = 0x40
} D3D12_SHADER_CACHE_SUPPORT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_SUPPORT_FLAGS);
typedef enum D3D12_COMMAND_LIST_SUPPORT_FLAGS {
D3D12_COMMAND_LIST_SUPPORT_FLAG_NONE = 0x0,
D3D12_COMMAND_LIST_SUPPORT_FLAG_DIRECT = 0x1,
D3D12_COMMAND_LIST_SUPPORT_FLAG_BUNDLE = 0x2,
D3D12_COMMAND_LIST_SUPPORT_FLAG_COMPUTE = 0x4,
D3D12_COMMAND_LIST_SUPPORT_FLAG_COPY = 0x8,
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_DECODE = 0x10,
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_PROCESS = 0x20,
D3D12_COMMAND_LIST_SUPPORT_FLAG_VIDEO_ENCODE = 0x40
} D3D12_COMMAND_LIST_SUPPORT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_LIST_SUPPORT_FLAGS);
typedef enum D3D12_VIEW_INSTANCING_TIER {
D3D12_VIEW_INSTANCING_TIER_NOT_SUPPORTED = 0x0,
D3D12_VIEW_INSTANCING_TIER_1 = 0x1,
D3D12_VIEW_INSTANCING_TIER_2 = 0x2,
D3D12_VIEW_INSTANCING_TIER_3 = 0x3
} D3D12_VIEW_INSTANCING_TIER;
typedef enum D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER {
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_0 = 0x0,
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_1 = 0x1,
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 = 0x2
} D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER;
typedef struct D3D12_FEATURE_DATA_DISPLAYABLE {
WINBOOL DisplayableTexture;
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
} D3D12_FEATURE_DATA_DISPLAYABLE;
typedef enum D3D12_HEAP_SERIALIZATION_TIER {
D3D12_HEAP_SERIALIZATION_TIER_0 = 0x0,
D3D12_HEAP_SERIALIZATION_TIER_10 = 0xa
} D3D12_HEAP_SERIALIZATION_TIER;
typedef enum D3D12_RENDER_PASS_TIER {
D3D12_RENDER_PASS_TIER_0 = 0x0,
D3D12_RENDER_PASS_TIER_1 = 0x1,
D3D12_RENDER_PASS_TIER_2 = 0x2
} D3D12_RENDER_PASS_TIER;
typedef enum D3D12_RAYTRACING_TIER {
D3D12_RAYTRACING_TIER_NOT_SUPPORTED = 0x0,
D3D12_RAYTRACING_TIER_1_0 = 0xa,
D3D12_RAYTRACING_TIER_1_1 = 0xb
} D3D12_RAYTRACING_TIER;
typedef enum D3D12_RESIDENCY_FLAGS {
D3D12_RESIDENCY_FLAG_NONE = 0x0,
D3D12_RESIDENCY_FLAG_DENY_OVERBUDGET = 0x1
} D3D12_RESIDENCY_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESIDENCY_FLAGS);
#ifndef __ID3D12Fence_FWD_DEFINED__
#define __ID3D12Fence_FWD_DEFINED__
typedef interface ID3D12Fence ID3D12Fence;
#ifdef __cplusplus
interface ID3D12Fence;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12RootSignature_FWD_DEFINED__
#define __ID3D12RootSignature_FWD_DEFINED__
typedef interface ID3D12RootSignature ID3D12RootSignature;
#ifdef __cplusplus
interface ID3D12RootSignature;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Heap_FWD_DEFINED__
#define __ID3D12Heap_FWD_DEFINED__
typedef interface ID3D12Heap ID3D12Heap;
#ifdef __cplusplus
interface ID3D12Heap;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
#define __ID3D12DescriptorHeap_FWD_DEFINED__
typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;
#ifdef __cplusplus
interface ID3D12DescriptorHeap;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Resource_FWD_DEFINED__
#define __ID3D12Resource_FWD_DEFINED__
typedef interface ID3D12Resource ID3D12Resource;
#ifdef __cplusplus
interface ID3D12Resource;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12CommandAllocator_FWD_DEFINED__
#define __ID3D12CommandAllocator_FWD_DEFINED__
typedef interface ID3D12CommandAllocator ID3D12CommandAllocator;
#ifdef __cplusplus
interface ID3D12CommandAllocator;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
#define __ID3D12GraphicsCommandList_FWD_DEFINED__
typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;
#ifdef __cplusplus
interface ID3D12GraphicsCommandList;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12CommandQueue_FWD_DEFINED__
#define __ID3D12CommandQueue_FWD_DEFINED__
typedef interface ID3D12CommandQueue ID3D12CommandQueue;
#ifdef __cplusplus
interface ID3D12CommandQueue;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12PipelineState_FWD_DEFINED__
#define __ID3D12PipelineState_FWD_DEFINED__
typedef interface ID3D12PipelineState ID3D12PipelineState;
#ifdef __cplusplus
interface ID3D12PipelineState;
#endif /* __cplusplus */
#endif
#ifndef __ID3D12Device_FWD_DEFINED__
#define __ID3D12Device_FWD_DEFINED__
typedef interface ID3D12Device ID3D12Device;
#ifdef __cplusplus
interface ID3D12Device;
#endif /* __cplusplus */
#endif
typedef RECT D3D12_RECT;
typedef struct D3D12_BOX {
UINT left;
UINT top;
UINT front;
UINT right;
UINT bottom;
UINT back;
} D3D12_BOX;
typedef struct D3D12_VIEWPORT {
FLOAT TopLeftX;
FLOAT TopLeftY;
FLOAT Width;
FLOAT Height;
FLOAT MinDepth;
FLOAT MaxDepth;
} D3D12_VIEWPORT;
typedef struct D3D12_RANGE {
SIZE_T Begin;
SIZE_T End;
} D3D12_RANGE;
typedef struct D3D12_RANGE_UINT64 {
UINT64 Begin;
UINT64 End;
} D3D12_RANGE_UINT64;
typedef struct D3D12_SUBRESOURCE_RANGE_UINT64 {
UINT Subresource;
D3D12_RANGE_UINT64 Range;
} D3D12_SUBRESOURCE_RANGE_UINT64;
typedef struct D3D12_SUBRESOURCE_INFO {
UINT64 Offset;
UINT RowPitch;
UINT DepthPitch;
} D3D12_SUBRESOURCE_INFO;
typedef struct D3D12_RESOURCE_ALLOCATION_INFO {
UINT64 SizeInBytes;
UINT64 Alignment;
} D3D12_RESOURCE_ALLOCATION_INFO;
typedef struct D3D12_RESOURCE_ALLOCATION_INFO1 {
UINT64 Offset;
UINT64 Alignment;
UINT64 SizeInBytes;
} D3D12_RESOURCE_ALLOCATION_INFO1;
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_FEATURE_DATA_D3D12_OPTIONS {
WINBOOL DoublePrecisionFloatShaderOps;
WINBOOL OutputMergerLogicOp;
D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
WINBOOL PSSpecifiedStencilRefSupported;
WINBOOL TypedUAVLoadAdditionalFormats;
WINBOOL ROVsSupported;
D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
UINT MaxGPUVirtualAddressBitsPerResource;
WINBOOL StandardSwizzle64KBSupported;
D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
WINBOOL CrossAdapterRowMajorTextureSupported;
WINBOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS;
typedef struct D3D12_FEATURE_DATA_FORMAT_SUPPORT {
DXGI_FORMAT Format;
D3D12_FORMAT_SUPPORT1 Support1;
D3D12_FORMAT_SUPPORT2 Support2;
} D3D12_FEATURE_DATA_FORMAT_SUPPORT;
typedef enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS {
D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0x0,
D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1
} D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS);
typedef struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS {
DXGI_FORMAT Format;
UINT SampleCount;
D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Flags;
UINT NumQualityLevels;
} D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS;
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_PROPERTY {
D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0,
D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1,
D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2,
D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3
} D3D12_CPU_PAGE_PROPERTY;
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_PROPERTY CPUPageProperty;
D3D12_MEMORY_POOL MemoryPoolPreference;
UINT CreationNodeMask;
UINT VisibleNodeMask;
} D3D12_HEAP_PROPERTIES;
typedef enum D3D12_HEAP_FLAGS {
D3D12_HEAP_FLAG_NONE = 0x0,
D3D12_HEAP_FLAG_SHARED = 0x1,
D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4,
D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8,
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20,
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40,
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80,
D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100,
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200,
D3D12_HEAP_FLAG_ALLOW_SHADER_ATOMICS = 0x400,
D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT = 0x800,
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED = 0x1000,
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x0,
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0,
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84
} D3D12_HEAP_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_HEAP_FLAGS);
typedef struct D3D12_HEAP_DESC {
UINT64 SizeInBytes;
D3D12_HEAP_PROPERTIES Properties;
UINT64 Alignment;
D3D12_HEAP_FLAGS Flags;
} D3D12_HEAP_DESC;
typedef struct D3D12_TILED_RESOURCE_COORDINATE {
UINT X;
UINT Y;
UINT Z;
UINT Subresource;
} D3D12_TILED_RESOURCE_COORDINATE;
typedef struct D3D12_TILE_REGION_SIZE {
UINT NumTiles;
WINBOOL UseBox;
UINT Width;
UINT16 Height;
UINT16 Depth;
} D3D12_TILE_REGION_SIZE;
typedef struct D3D12_SUBRESOURCE_TILING {
UINT WidthInTiles;
UINT16 HeightInTiles;
UINT16 DepthInTiles;
UINT StartTileIndexInOverallResource;
} D3D12_SUBRESOURCE_TILING;
typedef struct D3D12_TILE_SHAPE {
UINT WidthInTexels;
UINT HeightInTexels;
UINT DepthInTexels;
} D3D12_TILE_SHAPE;
typedef struct D3D12_SHADER_BYTECODE {
const void *pShaderBytecode;
SIZE_T BytecodeLength;
} D3D12_SHADER_BYTECODE;
typedef struct D3D12_DEPTH_STENCIL_VALUE {
FLOAT Depth;
UINT8 Stencil;
} D3D12_DEPTH_STENCIL_VALUE;
typedef struct D3D12_CLEAR_VALUE {
DXGI_FORMAT Format;
__C89_NAMELESS union {
FLOAT Color[4];
D3D12_DEPTH_STENCIL_VALUE DepthStencil;
} __C89_NAMELESSUNIONNAME;
} D3D12_CLEAR_VALUE;
typedef struct D3D12_PACKED_MIP_INFO {
UINT8 NumStandardMips;
UINT8 NumPackedMips;
UINT NumTilesForPackedMips;
UINT StartTileIndexInOverallResource;
} D3D12_PACKED_MIP_INFO;
typedef enum D3D12_RESOURCE_STATES {
D3D12_RESOURCE_STATE_COMMON = 0,
D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1,
D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2,
D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4,
D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8,
D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10,
D3D12_RESOURCE_STATE_DEPTH_READ = 0x20,
D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40,
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80,
D3D12_RESOURCE_STATE_STREAM_OUT = 0x100,
D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200,
D3D12_RESOURCE_STATE_COPY_DEST = 0x400,
D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800,
D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000,
D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000,
D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE = 0x400000,
D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE = 0x1000000,
D3D12_RESOURCE_STATE_GENERIC_READ = ((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800,
D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE = 0x40 | 0x80,
D3D12_RESOURCE_STATE_PRESENT = 0x0,
D3D12_RESOURCE_STATE_PREDICATION = 0x200,
D3D12_RESOURCE_STATE_VIDEO_DECODE_READ = 0x10000,
D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE = 0x20000,
D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ = 0x40000,
D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE = 0x80000,
D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ = 0x200000,
D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE = 0x800000
} D3D12_RESOURCE_STATES;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_STATES);
typedef enum D3D12_RESOURCE_BARRIER_TYPE {
D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0,
D3D12_RESOURCE_BARRIER_TYPE_ALIASING = 1,
D3D12_RESOURCE_BARRIER_TYPE_UAV = 2
} D3D12_RESOURCE_BARRIER_TYPE;
typedef enum D3D12_RESOURCE_BARRIER_FLAGS {
D3D12_RESOURCE_BARRIER_FLAG_NONE = 0x0,
D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1,
D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2
} D3D12_RESOURCE_BARRIER_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_BARRIER_FLAGS);
typedef struct D3D12_RESOURCE_TRANSITION_BARRIER {
ID3D12Resource *pResource;
UINT Subresource;
D3D12_RESOURCE_STATES StateBefore;
D3D12_RESOURCE_STATES StateAfter;
} D3D12_RESOURCE_TRANSITION_BARRIER;
typedef struct D3D12_RESOURCE_ALIASING_BARRIER_ALIASING {
ID3D12Resource *pResourceBefore;
ID3D12Resource *pResourceAfter;
} D3D12_RESOURCE_ALIASING_BARRIER;
typedef struct D3D12_RESOURCE_UAV_BARRIER {
ID3D12Resource *pResource;
} D3D12_RESOURCE_UAV_BARRIER;
typedef struct D3D12_RESOURCE_BARRIER {
D3D12_RESOURCE_BARRIER_TYPE Type;
D3D12_RESOURCE_BARRIER_FLAGS Flags;
__C89_NAMELESS union {
D3D12_RESOURCE_TRANSITION_BARRIER Transition;
D3D12_RESOURCE_ALIASING_BARRIER Aliasing;
D3D12_RESOURCE_UAV_BARRIER UAV;
} __C89_NAMELESSUNIONNAME;
} D3D12_RESOURCE_BARRIER;
typedef enum D3D12_RESOURCE_DIMENSION {
D3D12_RESOURCE_DIMENSION_UNKNOWN = 0,
D3D12_RESOURCE_DIMENSION_BUFFER = 1,
D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2,
D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3,
D3D12_RESOURCE_DIMENSION_TEXTURE3D = 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_FLAGS {
D3D12_RESOURCE_FLAG_NONE = 0x0,
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
} D3D12_RESOURCE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_FLAGS);
typedef struct D3D12_MIP_REGION {
UINT Width;
UINT Height;
UINT Depth;
} D3D12_MIP_REGION;
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_FLAGS Flags;
} D3D12_RESOURCE_DESC;
typedef struct D3D12_RESOURCE_DESC1 {
D3D12_RESOURCE_DIMENSION Dimension;
UINT64 Alignment;
UINT64 Width;
UINT Height;
UINT16 DepthOrArraySize;
UINT16 MipLevels;
DXGI_FORMAT Format;
DXGI_SAMPLE_DESC SampleDesc;
D3D12_TEXTURE_LAYOUT Layout;
D3D12_RESOURCE_FLAGS Flags;
D3D12_MIP_REGION SamplerFeedbackMipRegion;
} D3D12_RESOURCE_DESC1;
typedef enum D3D12_RESOLVE_MODE {
D3D12_RESOLVE_MODE_DECOMPRESS = 0,
D3D12_RESOLVE_MODE_MIN = 1,
D3D12_RESOLVE_MODE_MAX = 2,
D3D12_RESOLVE_MODE_AVERAGE = 3,
D3D12_RESOLVE_MODE_ENCODE_SAMPLER_FEEDBACK = 4,
D3D12_RESOLVE_MODE_DECODE_SAMPLER_FEEDBACK = 5
} D3D12_RESOLVE_MODE;
typedef struct D3D12_SAMPLE_POSITION {
INT8 X;
INT8 Y;
} D3D12_SAMPLE_POSITION;
typedef enum D3D12_TEXTURE_COPY_TYPE {
D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0,
D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1
} D3D12_TEXTURE_COPY_TYPE;
typedef struct D3D12_SUBRESOURCE_FOOTPRINT {
DXGI_FORMAT Format;
UINT Width;
UINT Height;
UINT Depth;
UINT RowPitch;
} D3D12_SUBRESOURCE_FOOTPRINT;
typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
UINT64 Offset;
D3D12_SUBRESOURCE_FOOTPRINT Footprint;
} D3D12_PLACED_SUBRESOURCE_FOOTPRINT;
typedef struct D3D12_TEXTURE_COPY_LOCATION {
ID3D12Resource *pResource;
D3D12_TEXTURE_COPY_TYPE Type;
__C89_NAMELESS union {
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;
UINT SubresourceIndex;
} __C89_NAMELESSUNIONNAME;
} D3D12_TEXTURE_COPY_LOCATION;
typedef enum D3D12_DESCRIPTOR_RANGE_TYPE {
D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0,
D3D12_DESCRIPTOR_RANGE_TYPE_UAV = 1,
D3D12_DESCRIPTOR_RANGE_TYPE_CBV = 2,
D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = 3
} D3D12_DESCRIPTOR_RANGE_TYPE;
typedef struct D3D12_DESCRIPTOR_RANGE {
D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
UINT NumDescriptors;
UINT BaseShaderRegister;
UINT RegisterSpace;
UINT OffsetInDescriptorsFromTableStart;
} D3D12_DESCRIPTOR_RANGE;
typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS {
D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0x0,
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
} D3D12_DESCRIPTOR_RANGE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_RANGE_FLAGS);
typedef struct D3D12_DESCRIPTOR_RANGE1 {
D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
UINT NumDescriptors;
UINT BaseShaderRegister;
UINT RegisterSpace;
D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
UINT OffsetInDescriptorsFromTableStart;
} D3D12_DESCRIPTOR_RANGE1;
typedef struct D3D12_ROOT_DESCRIPTOR_TABLE {
UINT NumDescriptorRanges;
const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;
} D3D12_ROOT_DESCRIPTOR_TABLE;
typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1 {
UINT NumDescriptorRanges;
const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges;
} D3D12_ROOT_DESCRIPTOR_TABLE1;
typedef struct D3D12_ROOT_CONSTANTS {
UINT ShaderRegister;
UINT RegisterSpace;
UINT Num32BitValues;
} D3D12_ROOT_CONSTANTS;
typedef struct D3D12_ROOT_DESCRIPTOR {
UINT ShaderRegister;
UINT RegisterSpace;
} D3D12_ROOT_DESCRIPTOR;
typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS {
D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0x0,
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2,
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8
} D3D12_ROOT_DESCRIPTOR_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_DESCRIPTOR_FLAGS);
typedef struct D3D12_ROOT_DESCRIPTOR1 {
UINT ShaderRegister;
UINT RegisterSpace;
D3D12_ROOT_DESCRIPTOR_FLAGS Flags;
} D3D12_ROOT_DESCRIPTOR1;
typedef enum D3D12_ROOT_PARAMETER_TYPE {
D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0,
D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = 1,
D3D12_ROOT_PARAMETER_TYPE_CBV = 2,
D3D12_ROOT_PARAMETER_TYPE_SRV = 3,
D3D12_ROOT_PARAMETER_TYPE_UAV = 4
} D3D12_ROOT_PARAMETER_TYPE;
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_AMPLIFICATION = 6,
D3D12_SHADER_VISIBILITY_MESH = 7
} D3D12_SHADER_VISIBILITY;
typedef struct D3D12_ROOT_PARAMETER {
D3D12_ROOT_PARAMETER_TYPE ParameterType;
__C89_NAMELESS union {
D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
D3D12_ROOT_CONSTANTS Constants;
D3D12_ROOT_DESCRIPTOR Descriptor;
} __C89_NAMELESSUNIONNAME;
D3D12_SHADER_VISIBILITY ShaderVisibility;
} D3D12_ROOT_PARAMETER;
typedef struct D3D12_ROOT_PARAMETER1 {
D3D12_ROOT_PARAMETER_TYPE ParameterType;
__C89_NAMELESS union {
D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable;
D3D12_ROOT_CONSTANTS Constants;
D3D12_ROOT_DESCRIPTOR1 Descriptor;
} __C89_NAMELESSUNIONNAME;
D3D12_SHADER_VISIBILITY ShaderVisibility;
} D3D12_ROOT_PARAMETER1;
typedef enum D3D12_STATIC_BORDER_COLOR {
D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0,
D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = 1,
D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = 2
} D3D12_STATIC_BORDER_COLOR;
typedef enum D3D12_FILTER {
D3D12_FILTER_MIN_MAG_MIP_POINT = 0x0,
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;
#define D3D12_MIP_FILTER_SHIFT (0)
#define D3D12_MAG_FILTER_SHIFT (2)
#define D3D12_MIN_FILTER_SHIFT (4)
#define D3D12_FILTER_TYPE_MASK (0x3)
#define D3D12_ANISOTROPIC_FILTERING_BIT (0x40)
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_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_MAG_FILTER(filter) \
((D3D12_FILTER_TYPE)(((filter) >> D3D12_MAG_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK))
#define D3D12_DECODE_MIN_FILTER(filter) \
((D3D12_FILTER_TYPE)(((filter) >> D3D12_MIN_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK))
#define D3D12_DECODE_MIP_FILTER(filter) \
((D3D12_FILTER_TYPE)(((filter) >> D3D12_MIP_FILTER_SHIFT) & D3D12_FILTER_TYPE_MASK))
#define D3D12_DECODE_IS_ANISOTROPIC_FILTER(filter) \
(((filter) & D3D12_ANISOTROPIC_FILTERING_BIT) \
&& (D3D12_DECODE_MIN_FILTER(filter) == D3D12_FILTER_TYPE_LINEAR) \
&& (D3D12_DECODE_MAG_FILTER(filter) == D3D12_FILTER_TYPE_LINEAR) \
&& (D3D12_DECODE_MIP_FILTER(filter) == D3D12_FILTER_TYPE_LINEAR))
#define D3D12_DECODE_FILTER_REDUCTION(filter) \
((D3D12_FILTER_REDUCTION_TYPE)(((filter) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT) \
& D3D12_FILTER_REDUCTION_TYPE_MASK))
#define D3D12_DECODE_IS_COMPARISON_FILTER(filter) \
(D3D12_DECODE_FILTER_REDUCTION(filter) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON)
typedef enum D3D12_TEXTURE_ADDRESS_MODE {
D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1,
D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2,
D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3,
D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4,
D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
} D3D12_TEXTURE_ADDRESS_MODE;
typedef enum D3D12_COMPARISON_FUNC {
D3D12_COMPARISON_FUNC_NEVER = 1,
D3D12_COMPARISON_FUNC_LESS = 2,
D3D12_COMPARISON_FUNC_EQUAL = 3,
D3D12_COMPARISON_FUNC_LESS_EQUAL = 4,
D3D12_COMPARISON_FUNC_GREATER = 5,
D3D12_COMPARISON_FUNC_NOT_EQUAL = 6,
D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7,
D3D12_COMPARISON_FUNC_ALWAYS = 8
} D3D12_COMPARISON_FUNC;
typedef struct D3D12_STATIC_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;
D3D12_STATIC_BORDER_COLOR BorderColor;
FLOAT MinLOD;
FLOAT MaxLOD;
UINT ShaderRegister;
UINT RegisterSpace;
D3D12_SHADER_VISIBILITY ShaderVisibility;
} D3D12_STATIC_SAMPLER_DESC;
typedef enum D3D12_ROOT_SIGNATURE_FLAGS {
D3D12_ROOT_SIGNATURE_FLAG_NONE = 0x0,
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
} D3D12_ROOT_SIGNATURE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_SIGNATURE_FLAGS);
typedef struct D3D12_ROOT_SIGNATURE_DESC {
UINT NumParameters;
const D3D12_ROOT_PARAMETER *pParameters;
UINT NumStaticSamplers;
const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
D3D12_ROOT_SIGNATURE_FLAGS Flags;
} D3D12_ROOT_SIGNATURE_DESC;
typedef struct D3D12_ROOT_SIGNATURE_DESC1 {
UINT NumParameters;
const D3D12_ROOT_PARAMETER1 *pParameters;
UINT NumStaticSamplers;
const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
D3D12_ROOT_SIGNATURE_FLAGS Flags;
} D3D12_ROOT_SIGNATURE_DESC1;
typedef enum D3D_ROOT_SIGNATURE_VERSION {
D3D_ROOT_SIGNATURE_VERSION_1 = 0x1,
D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2
} D3D_ROOT_SIGNATURE_VERSION;
typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
D3D_ROOT_SIGNATURE_VERSION Version;
__C89_NAMELESS union {
D3D12_ROOT_SIGNATURE_DESC Desc_1_0;
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;
} __C89_NAMELESSUNIONNAME;
} D3D12_VERSIONED_ROOT_SIGNATURE_DESC;
typedef enum D3D12_DESCRIPTOR_HEAP_TYPE {
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0,
D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = 1,
D3D12_DESCRIPTOR_HEAP_TYPE_RTV = 2,
D3D12_DESCRIPTOR_HEAP_TYPE_DSV = 3,
D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = 4
} D3D12_DESCRIPTOR_HEAP_TYPE;
typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS {
D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0x0,
D3D12_DESCRIPTOR_HEAP_FLAG_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 UINT64 D3D12_GPU_VIRTUAL_ADDRESS;
typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC {
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
UINT SizeInBytes;
} D3D12_CONSTANT_BUFFER_VIEW_DESC;
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_RAYTRACING_ACCELERATION_STRUCTURE = 11
} D3D12_SRV_DIMENSION;
typedef enum D3D12_BUFFER_SRV_FLAGS {
D3D12_BUFFER_SRV_FLAG_NONE = 0x0,
D3D12_BUFFER_SRV_FLAG_RAW = 0x1
} D3D12_BUFFER_SRV_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_SRV_FLAGS);
typedef enum D3D12_SHADER_COMPONENT_MAPPING {
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
} D3D12_SHADER_COMPONENT_MAPPING;
#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(x, y, z, w) \
(((x) & D3D12_SHADER_COMPONENT_MAPPING_MASK) \
| (((y) & D3D12_SHADER_COMPONENT_MAPPING_MASK) << D3D12_SHADER_COMPONENT_MAPPING_SHIFT) \
| (((z) & D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 2)) \
| (((w) & D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 3)) \
| D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES)
#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0, 1, 2, 3)
#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(i, mapping) \
((D3D12_SHADER_COMPONENT_MAPPING)(mapping >> (i * D3D12_SHADER_COMPONENT_MAPPING_SHIFT) \
& D3D12_SHADER_COMPONENT_MAPPING_MASK))
typedef struct D3D12_BUFFER_SRV {
UINT64 FirstElement;
UINT NumElements;
UINT StructureByteStride;
D3D12_BUFFER_SRV_FLAGS 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_TEX2DMS_SRV {
UINT UnusedField_NothingToDefine;
} D3D12_TEX2DMS_SRV;
typedef struct D3D12_TEX2DMS_ARRAY_SRV {
UINT FirstArraySlice;
UINT ArraySize;
} D3D12_TEX2DMS_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_RAYTRACING_ACCELERATION_STRUCTURE_SRV {
D3D12_GPU_VIRTUAL_ADDRESS Location;
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV;
typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC {
DXGI_FORMAT Format;
D3D12_SRV_DIMENSION ViewDimension;
UINT Shader4ComponentMapping;
__C89_NAMELESS 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_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
} __C89_NAMELESSUNIONNAME;
} D3D12_SHADER_RESOURCE_VIEW_DESC;
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 enum D3D12_BUFFER_UAV_FLAGS {
D3D12_BUFFER_UAV_FLAG_NONE = 0x0,
D3D12_BUFFER_UAV_FLAG_RAW = 0x1
} D3D12_BUFFER_UAV_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_UAV_FLAGS);
typedef struct D3D12_BUFFER_UAV {
UINT64 FirstElement;
UINT NumElements;
UINT StructureByteStride;
UINT64 CounterOffsetInBytes;
D3D12_BUFFER_UAV_FLAGS 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 struct D3D12_UNORDERED_ACCESS_VIEW_DESC {
DXGI_FORMAT Format;
D3D12_UAV_DIMENSION ViewDimension;
__C89_NAMELESS 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;
} __C89_NAMELESSUNIONNAME;
} D3D12_UNORDERED_ACCESS_VIEW_DESC;
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_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_TEX2D_ARRAY_RTV {
UINT MipSlice;
UINT FirstArraySlice;
UINT ArraySize;
UINT PlaneSlice;
} D3D12_TEX2D_ARRAY_RTV;
typedef struct D3D12_TEX2DMS_RTV {
UINT UnusedField_NothingToDefine;
} D3D12_TEX2DMS_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 struct D3D12_RENDER_TARGET_VIEW_DESC {
DXGI_FORMAT Format;
D3D12_RTV_DIMENSION ViewDimension;
__C89_NAMELESS 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;
} __C89_NAMELESSUNIONNAME;
} D3D12_RENDER_TARGET_VIEW_DESC;
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 enum D3D12_DSV_FLAGS {
D3D12_DSV_FLAG_NONE = 0x0,
D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1,
D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2
} D3D12_DSV_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_DSV_FLAGS);
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 struct D3D12_DEPTH_STENCIL_VIEW_DESC {
DXGI_FORMAT Format;
D3D12_DSV_DIMENSION ViewDimension;
D3D12_DSV_FLAGS Flags;
__C89_NAMELESS 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;
} __C89_NAMELESSUNIONNAME;
} D3D12_DEPTH_STENCIL_VIEW_DESC;
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 struct D3D12_CPU_DESCRIPTOR_HANDLE {
SIZE_T ptr;
} D3D12_CPU_DESCRIPTOR_HANDLE;
typedef struct D3D12_GPU_DESCRIPTOR_HANDLE {
UINT64 ptr;
} D3D12_GPU_DESCRIPTOR_HANDLE;
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 enum D3D12_DEPTH_WRITE_MASK {
D3D12_DEPTH_WRITE_MASK_ZERO = 0,
D3D12_DEPTH_WRITE_MASK_ALL = 1
} D3D12_DEPTH_WRITE_MASK;
typedef struct D3D12_DEPTH_STENCIL_DESC {
WINBOOL DepthEnable;
D3D12_DEPTH_WRITE_MASK DepthWriteMask;
D3D12_COMPARISON_FUNC DepthFunc;
WINBOOL StencilEnable;
UINT8 StencilReadMask;
UINT8 StencilWriteMask;
D3D12_DEPTH_STENCILOP_DESC FrontFace;
D3D12_DEPTH_STENCILOP_DESC BackFace;
} D3D12_DEPTH_STENCIL_DESC;
typedef struct D3D12_DEPTH_STENCIL_DESC1 {
WINBOOL DepthEnable;
D3D12_DEPTH_WRITE_MASK DepthWriteMask;
D3D12_COMPARISON_FUNC DepthFunc;
WINBOOL StencilEnable;
UINT8 StencilReadMask;
UINT8 StencilWriteMask;
D3D12_DEPTH_STENCILOP_DESC FrontFace;
D3D12_DEPTH_STENCILOP_DESC BackFace;
WINBOOL DepthBoundsTestEnable;
} D3D12_DEPTH_STENCIL_DESC1;
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_ALPHA_FACTOR = 20,
D3D12_BLEND_INV_ALPHA_FACTOR = 21
} 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_LOGIC_OP {
D3D12_LOGIC_OP_CLEAR = 0x0,
D3D12_LOGIC_OP_SET = 0x1,
D3D12_LOGIC_OP_COPY = 0x2,
D3D12_LOGIC_OP_COPY_INVERTED = 0x3,
D3D12_LOGIC_OP_NOOP = 0x4,
D3D12_LOGIC_OP_INVERT = 0x5,
D3D12_LOGIC_OP_AND = 0x6,
D3D12_LOGIC_OP_NAND = 0x7,
D3D12_LOGIC_OP_OR = 0x8,
D3D12_LOGIC_OP_NOR = 0x9,
D3D12_LOGIC_OP_XOR = 0xa,
D3D12_LOGIC_OP_EQUIV = 0xb,
D3D12_LOGIC_OP_AND_REVERSE = 0xc,
D3D12_LOGIC_OP_AND_INVERTED = 0xd,
D3D12_LOGIC_OP_OR_REVERSE = 0xe,
D3D12_LOGIC_OP_OR_INVERTED = 0xf
} D3D12_LOGIC_OP;
typedef enum D3D12_COLOR_WRITE_ENABLE {
D3D12_COLOR_WRITE_ENABLE_RED = 0x1,
D3D12_COLOR_WRITE_ENABLE_GREEN = 0x2,
D3D12_COLOR_WRITE_ENABLE_BLUE = 0x4,
D3D12_COLOR_WRITE_ENABLE_ALPHA = 0x8,
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 struct D3D12_RENDER_TARGET_BLEND_DESC {
WINBOOL BlendEnable;
WINBOOL 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 {
WINBOOL AlphaToCoverageEnable;
WINBOOL IndependentBlendEnable;
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
} D3D12_BLEND_DESC;
typedef enum D3D12_FILL_MODE {
D3D12_FILL_MODE_WIREFRAME = 2,
D3D12_FILL_MODE_SOLID = 3
} D3D12_FILL_MODE;
typedef enum D3D12_CULL_MODE {
D3D12_CULL_MODE_NONE = 1,
D3D12_CULL_MODE_FRONT = 2,
D3D12_CULL_MODE_BACK = 3
} D3D12_CULL_MODE;
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;
WINBOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
WINBOOL DepthClipEnable;
WINBOOL MultisampleEnable;
WINBOOL AntialiasedLineEnable;
UINT ForcedSampleCount;
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
} D3D12_RASTERIZER_DESC;
typedef struct D3D12_SO_DECLARATION_ENTRY {
UINT Stream;
const char *SemanticName;
UINT SemanticIndex;
BYTE StartComponent;
BYTE ComponentCount;
BYTE OutputSlot;
} D3D12_SO_DECLARATION_ENTRY;
typedef struct D3D12_STREAM_OUTPUT_DESC {
const D3D12_SO_DECLARATION_ENTRY *pSODeclaration;
UINT NumEntries;
const UINT *pBufferStrides;
UINT NumStrides;
UINT RasterizedStream;
} D3D12_STREAM_OUTPUT_DESC;
typedef enum D3D12_INPUT_CLASSIFICATION {
D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0,
D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
} D3D12_INPUT_CLASSIFICATION;
typedef struct D3D12_INPUT_ELEMENT_DESC {
const char *SemanticName;
UINT SemanticIndex;
DXGI_FORMAT Format;
UINT InputSlot;
UINT AlignedByteOffset;
D3D12_INPUT_CLASSIFICATION InputSlotClass;
UINT InstanceDataStepRate;
} D3D12_INPUT_ELEMENT_DESC;
typedef struct D3D12_INPUT_LAYOUT_DESC {
const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;
UINT NumElements;
} D3D12_INPUT_LAYOUT_DESC;
typedef enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
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_STRIP_CUT_VALUE;
typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;
typedef D3D_PRIMITIVE D3D12_PRIMITIVE;
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;
typedef struct D3D12_CACHED_PIPELINE_STATE {
const void *pCachedBlob;
SIZE_T CachedBlobSizeInBytes;
} D3D12_CACHED_PIPELINE_STATE;
typedef enum D3D12_PIPELINE_STATE_FLAGS {
D3D12_PIPELINE_STATE_FLAG_NONE = 0x0,
D3D12_PIPELINE_STATE_FLAG_DEBUG = 0x1
} D3D12_PIPELINE_STATE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_PIPELINE_STATE_FLAGS);
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_STRIP_CUT_VALUE IBStripCutValue;
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_PIPELINE_STATE_FLAGS Flags;
} 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_PIPELINE_STATE_FLAGS Flags;
} D3D12_COMPUTE_PIPELINE_STATE_DESC;
typedef struct D3D12_PIPELINE_STATE_STREAM_DESC {
SIZE_T SizeInBytes;
void *pPipelineStateSubobjectStream;
} D3D12_PIPELINE_STATE_STREAM_DESC;
struct D3D12_RT_FORMAT_ARRAY {
DXGI_FORMAT RTFormats[8];
UINT NumRenderTargets;
};
typedef enum D3D12_PIPELINE_STATE_SUBOBJECT_TYPE {
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_ROOT_SIGNATURE = 0x0,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VS = 0x1,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PS = 0x2,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DS = 0x3,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_HS = 0x4,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_GS = 0x5,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CS = 0x6,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_STREAM_OUTPUT = 0x7,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_BLEND = 0x8,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_MASK = 0x9,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RASTERIZER = 0xa,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL = 0xb,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_INPUT_LAYOUT = 0xc,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_IB_STRIP_CUT_VALUE = 0xd,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_PRIMITIVE_TOPOLOGY = 0xe,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_RENDER_TARGET_FORMATS = 0xf,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL_FORMAT = 0x10,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_SAMPLE_DESC = 0x11,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_NODE_MASK = 0x12,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_CACHED_PSO = 0x13,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_FLAGS = 0x14,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_DEPTH_STENCIL1 = 0x15,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_VIEW_INSTANCING = 0x16,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_AS = 0x18,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MS = 0x19,
D3D12_PIPELINE_STATE_SUBOBJECT_TYPE_MAX_VALID = 0x1a
} D3D12_PIPELINE_STATE_SUBOBJECT_TYPE;
typedef struct D3D12_VIEW_INSTANCE_LOCATION {
UINT ViewportArrayIndex;
UINT RenderTargetArrayIndex;
} D3D12_VIEW_INSTANCE_LOCATION;
typedef enum D3D12_VIEW_INSTANCING_FLAGS {
D3D12_VIEW_INSTANCING_FLAG_NONE = 0x0,
D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING = 0x1
} D3D12_VIEW_INSTANCING_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_VIEW_INSTANCING_FLAGS);
typedef struct D3D12_VIEW_INSTANCING_DESC {
UINT ViewInstanceCount;
const D3D12_VIEW_INSTANCE_LOCATION *pViewInstanceLocations;
D3D12_VIEW_INSTANCING_FLAGS Flags;
} D3D12_VIEW_INSTANCING_DESC;
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_VIDEO_DECODE = 4,
D3D12_COMMAND_LIST_TYPE_VIDEO_PROCESS = 5,
D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE = 6
} D3D12_COMMAND_LIST_TYPE;
typedef enum D3D12_COMMAND_QUEUE_PRIORITY {
D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0,
D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100,
D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000
} D3D12_COMMAND_QUEUE_PRIORITY;
typedef enum D3D12_COMMAND_QUEUE_FLAGS {
D3D12_COMMAND_QUEUE_FLAG_NONE = 0x0,
D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1
} D3D12_COMMAND_QUEUE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_QUEUE_FLAGS);
typedef struct D3D12_COMMAND_QUEUE_DESC {
D3D12_COMMAND_LIST_TYPE Type;
INT Priority;
D3D12_COMMAND_QUEUE_FLAGS Flags;
UINT NodeMask;
} D3D12_COMMAND_QUEUE_DESC;
typedef struct D3D12_FEATURE_DATA_ARCHITECTURE {
UINT NodeIndex;
WINBOOL TileBasedRenderer;
WINBOOL UMA;
WINBOOL CacheCoherentUMA;
} D3D12_FEATURE_DATA_ARCHITECTURE;
typedef struct D3D12_FEATURE_DATA_FORMAT_INFO {
DXGI_FORMAT Format;
UINT8 PlaneCount;
} D3D12_FEATURE_DATA_FORMAT_INFO;
typedef struct D3D12_FEATURE_DATA_FEATURE_LEVELS {
UINT NumFeatureLevels;
const D3D_FEATURE_LEVEL *pFeatureLevelsRequested;
D3D_FEATURE_LEVEL MaxSupportedFeatureLevel;
} D3D12_FEATURE_DATA_FEATURE_LEVELS;
typedef struct D3D12_FEATURE_DATA_ROOT_SIGNATURE {
D3D_ROOT_SIGNATURE_VERSION HighestVersion;
} D3D12_FEATURE_DATA_ROOT_SIGNATURE;
typedef struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT {
UINT MaxGPUVirtualAddressBitsPerResource;
UINT MaxGPUVirtualAddressBitsPerProcess;
} D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT;
typedef enum D3D_SHADER_MODEL {
D3D_SHADER_MODEL_5_1 = 0x51,
D3D_SHADER_MODEL_6_0 = 0x60,
D3D_SHADER_MODEL_6_1 = 0x61,
D3D_SHADER_MODEL_6_2 = 0x62,
D3D_SHADER_MODEL_6_3 = 0x63,
D3D_SHADER_MODEL_6_4 = 0x64,
D3D_SHADER_MODEL_6_5 = 0x65,
D3D_SHADER_MODEL_6_6 = 0x66,
D3D_SHADER_MODEL_6_7 = 0x67,
D3D_HIGHEST_SHADER_MODEL = D3D_SHADER_MODEL_6_7
} D3D_SHADER_MODEL;
typedef struct D3D12_FEATURE_DATA_SHADER_MODEL {
D3D_SHADER_MODEL HighestShaderModel;
} D3D12_FEATURE_DATA_SHADER_MODEL;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS1 {
WINBOOL WaveOps;
UINT WaveLaneCountMin;
UINT WaveLaneCountMax;
UINT TotalLaneCount;
WINBOOL ExpandedComputeResourceStates;
WINBOOL Int64ShaderOps;
} D3D12_FEATURE_DATA_D3D12_OPTIONS1;
typedef struct D3D12_FEATURE_DATA_ARCHITECTURE1 {
UINT NodeIndex;
WINBOOL TileBasedRenderer;
WINBOOL UMA;
WINBOOL CacheCoherentUMA;
WINBOOL IsolatedMMU;
} D3D12_FEATURE_DATA_ARCHITECTURE1;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS2 {
WINBOOL DepthBoundsTestSupported;
D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER ProgrammableSamplePositionsTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS2;
typedef struct D3D12_FEATURE_DATA_SHADER_CACHE {
D3D12_SHADER_CACHE_SUPPORT_FLAGS SupportFlags;
} D3D12_FEATURE_DATA_SHADER_CACHE;
typedef struct D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY {
D3D12_COMMAND_LIST_TYPE CommandListType;
UINT Priority;
WINBOOL PriorityForTypeIsSupported;
} D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS3 {
WINBOOL CopyQueueTimestampQueriesSupported;
WINBOOL CastingFullyTypedFormatSupported;
D3D12_COMMAND_LIST_SUPPORT_FLAGS WriteBufferImmediateSupportFlags;
D3D12_VIEW_INSTANCING_TIER ViewInstancingTier;
WINBOOL BarycentricsSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS3;
typedef struct D3D12_FEATURE_DATA_EXISTING_HEAPS {
WINBOOL Supported;
} D3D12_FEATURE_DATA_EXISTING_HEAPS;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS4 {
WINBOOL MSAA64KBAlignedTextureSupported;
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER SharedResourceCompatibilityTier;
WINBOOL Native16BitShaderOpsSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS4;
typedef struct D3D12_FEATURE_DATA_SERIALIZATION {
UINT NodeIndex;
D3D12_HEAP_SERIALIZATION_TIER HeapSerializationTier;
} D3D12_FEATURE_DATA_SERIALIZATION;
typedef struct D3D12_FEATURE_DATA_CROSS_NODE {
D3D12_CROSS_NODE_SHARING_TIER SharingTier;
WINBOOL AtomicShaderInstructions;
} D3D12_FEATURE_DATA_CROSS_NODE;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5 {
WINBOOL SRVOnlyTiledResourceTier3;
D3D12_RENDER_PASS_TIER RenderPassesTier;
D3D12_RAYTRACING_TIER RaytracingTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS5;
typedef enum D3D12_VARIABLE_SHADING_RATE_TIER {
D3D12_VARIABLE_SHADING_RATE_TIER_NOT_SUPPORTED = 0x0,
D3D12_VARIABLE_SHADING_RATE_TIER_1 = 0x1,
D3D12_VARIABLE_SHADING_RATE_TIER_2 = 0x2
} D3D12_VARIABLE_SHADING_RATE_TIER;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS6 {
WINBOOL AdditionalShadingRatesSupported;
WINBOOL PerPrimitiveShadingRateSupportedWithViewportIndexing;
D3D12_VARIABLE_SHADING_RATE_TIER VariableShadingRateTier;
UINT ShadingRateImageTileSize;
WINBOOL BackgroundProcessingSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS6;
typedef enum D3D12_MESH_SHADER_TIER {
D3D12_MESH_SHADER_TIER_NOT_SUPPORTED = 0x0,
D3D12_MESH_SHADER_TIER_1 = 0xa
} D3D12_MESH_SHADER_TIER;
typedef enum D3D12_SAMPLER_FEEDBACK_TIER {
D3D12_SAMPLER_FEEDBACK_TIER_NOT_SUPPORTED = 0x0,
D3D12_SAMPLER_FEEDBACK_TIER_0_9 = 0x5a,
D3D12_SAMPLER_FEEDBACK_TIER_1_0 = 0x64
} D3D12_SAMPLER_FEEDBACK_TIER;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS7 {
D3D12_MESH_SHADER_TIER MeshShaderTier;
D3D12_SAMPLER_FEEDBACK_TIER SamplerFeedbackTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS7;
typedef struct D3D12_FEATURE_DATA_QUERY_META_COMMAND {
GUID CommandId;
UINT NodeMask;
const void *pQueryInputData;
SIZE_T QueryInputDataSizeInBytes;
void *pQueryOutputData;
SIZE_T QueryOutputDataSizeInBytes;
} D3D12_FEATURE_DATA_QUERY_META_COMMAND;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS8 {
WINBOOL UnalignedBlockTexturesSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS8;
typedef enum D3D12_WAVE_MMA_TIER {
D3D12_WAVE_MMA_TIER_NOT_SUPPORTED = 0x0,
D3D12_WAVE_MMA_TIER_1_0 = 0xa
} D3D12_WAVE_MMA_TIER;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS9 {
WINBOOL MeshShaderPipelineStatsSupported;
WINBOOL MeshShaderSupportsFullRangeRenderTargetArrayIndex;
WINBOOL AtomicInt64OnTypedResourceSupported;
WINBOOL AtomicInt64OnGroupSharedSupported;
WINBOOL DerivativesInMeshAndAmplificationShadersSupported;
D3D12_WAVE_MMA_TIER WaveMMATier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS9;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS10 {
WINBOOL VariableRateShadingSumCombinerSupported;
WINBOOL MeshShaderPerPrimitiveShadingRateSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS10;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS11 {
WINBOOL AtomicInt64OnDescriptorHeapResourceSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS11;
typedef enum D3D12_TRI_STATE {
D3D12_TRI_STATE_UNKNOWN = -0x1,
D3D12_TRI_STATE_FALSE = 0x0,
D3D12_TRI_STATE_TRUE = 0x1
} D3D12_TRI_STATE;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS12 {
D3D12_TRI_STATE MSPrimitivesPipelineStatisticIncludesCulledPrimitives;
WINBOOL EnhancedBarriersSupported;
WINBOOL RelaxedFormatCastingSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS12;
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS13 {
WINBOOL UnrestrictedBufferTextureCopyPitchSupported;
WINBOOL UnrestrictedVertexElementAlignmentSupported;
WINBOOL InvertedViewportHeightFlipsYSupported;
WINBOOL InvertedViewportDepthFlipsZSupported;
WINBOOL TextureCopyBetweenDimensionsSupported;
WINBOOL AlphaBlendFactorSupported;
} D3D12_FEATURE_DATA_D3D12_OPTIONS13;
typedef enum D3D12_FEATURE {
D3D12_FEATURE_D3D12_OPTIONS = 0,
D3D12_FEATURE_ARCHITECTURE = 1,
D3D12_FEATURE_FEATURE_LEVELS = 2,
D3D12_FEATURE_FORMAT_SUPPORT = 3,
D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4,
D3D12_FEATURE_FORMAT_INFO = 5,
D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
D3D12_FEATURE_SHADER_MODEL = 7,
D3D12_FEATURE_D3D12_OPTIONS1 = 8,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_SUPPORT = 10,
D3D12_FEATURE_ROOT_SIGNATURE = 12,
D3D12_FEATURE_ARCHITECTURE1 = 16,
D3D12_FEATURE_D3D12_OPTIONS2 = 18,
D3D12_FEATURE_SHADER_CACHE = 19,
D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20,
D3D12_FEATURE_D3D12_OPTIONS3 = 21,
D3D12_FEATURE_EXISTING_HEAPS = 22,
D3D12_FEATURE_D3D12_OPTIONS4 = 23,
D3D12_FEATURE_SERIALIZATION = 24,
D3D12_FEATURE_CROSS_NODE = 25,
D3D12_FEATURE_D3D12_OPTIONS5 = 27,
D3D12_FEATURE_DISPLAYABLE = 28,
D3D12_FEATURE_D3D12_OPTIONS6 = 30,
D3D12_FEATURE_QUERY_META_COMMAND = 31,
D3D12_FEATURE_D3D12_OPTIONS7 = 32,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPE_COUNT = 33,
D3D12_FEATURE_PROTECTED_RESOURCE_SESSION_TYPES = 34,
D3D12_FEATURE_D3D12_OPTIONS8 = 36,
D3D12_FEATURE_D3D12_OPTIONS9 = 37,
D3D12_FEATURE_D3D12_OPTIONS10 = 39,
D3D12_FEATURE_D3D12_OPTIONS11 = 40,
D3D12_FEATURE_D3D12_OPTIONS12 = 41,
D3D12_FEATURE_D3D12_OPTIONS13 = 42
} D3D12_FEATURE;
typedef struct D3D12_MEMCPY_DEST {
void *pData;
SIZE_T RowPitch;
SIZE_T SlicePitch;
} D3D12_MEMCPY_DEST;
typedef struct D3D12_SUBRESOURCE_DATA {
const void *pData;
LONG_PTR RowPitch;
LONG_PTR SlicePitch;
} D3D12_SUBRESOURCE_DATA;
typedef enum D3D12_MULTIPLE_FENCE_WAIT_FLAGS {
D3D12_MULTIPLE_FENCE_WAIT_FLAG_NONE = 0x0,
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY = 0x1,
D3D12_MULTIPLE_FENCE_WAIT_FLAG_ALL = 0x0
} D3D12_MULTIPLE_FENCE_WAIT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_MULTIPLE_FENCE_WAIT_FLAGS);
typedef enum D3D12_RESIDENCY_PRIORITY {
D3D12_RESIDENCY_PRIORITY_MINIMUM = 0x28000000,
D3D12_RESIDENCY_PRIORITY_LOW = 0x50000000,
D3D12_RESIDENCY_PRIORITY_NORMAL = 0x78000000,
D3D12_RESIDENCY_PRIORITY_HIGH = 0xa0010000,
D3D12_RESIDENCY_PRIORITY_MAXIMUM = 0xc8000000
} D3D12_RESIDENCY_PRIORITY;
typedef struct D3D12_WRITEBUFFERIMMEDIATE_PARAMETER {
D3D12_GPU_VIRTUAL_ADDRESS Dest;
UINT32 Value;
} D3D12_WRITEBUFFERIMMEDIATE_PARAMETER;
typedef enum D3D12_PROTECTED_RESOURCE_SESSION_FLAGS {
D3D12_PROTECTED_RESOURCE_SESSION_FLAG_NONE = 0
} D3D12_PROTECTED_RESOURCE_SESSION_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_PROTECTED_RESOURCE_SESSION_FLAGS);
typedef enum D3D12_PROTECTED_SESSION_STATUS {
D3D12_PROTECTED_SESSION_STATUS_OK = 0,
D3D12_PROTECTED_SESSION_STATUS_INVALID = 1
} D3D12_PROTECTED_SESSION_STATUS;
typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC {
UINT NodeMask;
D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
} D3D12_PROTECTED_RESOURCE_SESSION_DESC;
/*****************************************************************************
* ID3D12Object interface
*/
#ifndef __ID3D12Object_INTERFACE_DEFINED__
#define __ID3D12Object_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Object, 0xc4fec28f, 0x7966, 0x4e95, 0x9f,0x94, 0xf4,0x31,0xcb,0x56,0xc3,0xb8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
ID3D12Object : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
REFGUID guid,
UINT *data_size,
void *data) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
REFGUID guid,
UINT data_size,
const void *data) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
REFGUID guid,
const IUnknown *data) = 0;
virtual HRESULT STDMETHODCALLTYPE SetName(
const WCHAR *name) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Object, 0xc4fec28f, 0x7966, 0x4e95, 0x9f,0x94, 0xf4,0x31,0xcb,0x56,0xc3,0xb8)
#endif
#else
typedef struct ID3D12ObjectVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Object *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Object *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Object *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Object *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Object *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Object *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Object *This,
const WCHAR *name);
END_INTERFACE
} ID3D12ObjectVtbl;
interface ID3D12Object {
CONST_VTBL ID3D12ObjectVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12Object_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Object_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Object_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Object_SetName(This,name) (This)->lpVtbl->SetName(This,name)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Object_QueryInterface(ID3D12Object* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Object_AddRef(ID3D12Object* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Object_Release(ID3D12Object* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Object_GetPrivateData(ID3D12Object* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Object_SetPrivateData(ID3D12Object* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Object_SetPrivateDataInterface(ID3D12Object* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Object_SetName(ID3D12Object* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
#endif
#endif
#endif
#endif /* __ID3D12Object_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12DeviceChild interface
*/
#ifndef __ID3D12DeviceChild_INTERFACE_DEFINED__
#define __ID3D12DeviceChild_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12DeviceChild, 0x905db94b, 0xa00c, 0x4140, 0x9d,0xf5, 0x2b,0x64,0xca,0x9e,0xa3,0x57);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
ID3D12DeviceChild : public ID3D12Object
{
virtual HRESULT STDMETHODCALLTYPE GetDevice(
REFIID riid,
void **device) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DeviceChild, 0x905db94b, 0xa00c, 0x4140, 0x9d,0xf5, 0x2b,0x64,0xca,0x9e,0xa3,0x57)
#endif
#else
typedef struct ID3D12DeviceChildVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12DeviceChild *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12DeviceChild *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12DeviceChild *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12DeviceChild *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12DeviceChild *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12DeviceChild *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12DeviceChild *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12DeviceChild *This,
REFIID riid,
void **device);
END_INTERFACE
} ID3D12DeviceChildVtbl;
interface ID3D12DeviceChild {
CONST_VTBL ID3D12DeviceChildVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12DeviceChild_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12DeviceChild_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12DeviceChild_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12DeviceChild_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12DeviceChild_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceChild_QueryInterface(ID3D12DeviceChild* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12DeviceChild_AddRef(ID3D12DeviceChild* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12DeviceChild_Release(ID3D12DeviceChild* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceChild_GetPrivateData(ID3D12DeviceChild* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12DeviceChild_SetPrivateData(ID3D12DeviceChild* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12DeviceChild_SetPrivateDataInterface(ID3D12DeviceChild* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12DeviceChild_SetName(ID3D12DeviceChild* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceChild_GetDevice(ID3D12DeviceChild* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
#endif
#endif
#endif
#endif /* __ID3D12DeviceChild_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Pageable interface
*/
#ifndef __ID3D12Pageable_INTERFACE_DEFINED__
#define __ID3D12Pageable_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Pageable, 0x63ee58fb, 0x1268, 0x4835, 0x86,0xda, 0xf0,0x08,0xce,0x62,0xf0,0xd6);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
ID3D12Pageable : public ID3D12DeviceChild
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Pageable, 0x63ee58fb, 0x1268, 0x4835, 0x86,0xda, 0xf0,0x08,0xce,0x62,0xf0,0xd6)
#endif
#else
typedef struct ID3D12PageableVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Pageable *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Pageable *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Pageable *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Pageable *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Pageable *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Pageable *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Pageable *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Pageable *This,
REFIID riid,
void **device);
END_INTERFACE
} ID3D12PageableVtbl;
interface ID3D12Pageable {
CONST_VTBL ID3D12PageableVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12Pageable_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Pageable_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Pageable_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Pageable_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Pageable_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Pageable_QueryInterface(ID3D12Pageable* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Pageable_AddRef(ID3D12Pageable* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Pageable_Release(ID3D12Pageable* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Pageable_GetPrivateData(ID3D12Pageable* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Pageable_SetPrivateData(ID3D12Pageable* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Pageable_SetPrivateDataInterface(ID3D12Pageable* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Pageable_SetName(ID3D12Pageable* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Pageable_GetDevice(ID3D12Pageable* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
#endif
#endif
#endif
#endif /* __ID3D12Pageable_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Heap interface
*/
#ifndef __ID3D12Heap_INTERFACE_DEFINED__
#define __ID3D12Heap_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Heap, 0x6b3b2502, 0x6e51, 0x45b3, 0x90,0xee, 0x98,0x84,0x26,0x5e,0x8d,0xf3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6b3b2502-6e51-45b3-90ee-9884265e8df3")
ID3D12Heap : public ID3D12Pageable
{
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_HEAP_DESC* STDMETHODCALLTYPE GetDesc(
D3D12_HEAP_DESC *__ret) = 0;
D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc(
)
{
D3D12_HEAP_DESC __ret;
return *GetDesc(&__ret);
}
#else
virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Heap, 0x6b3b2502, 0x6e51, 0x45b3, 0x90,0xee, 0x98,0x84,0x26,0x5e,0x8d,0xf3)
#endif
#else
typedef struct ID3D12HeapVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Heap *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Heap *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Heap *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Heap *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Heap *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Heap *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Heap *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Heap *This,
REFIID riid,
void **device);
/*** ID3D12Heap methods ***/
D3D12_HEAP_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12Heap *This,
D3D12_HEAP_DESC *__ret);
END_INTERFACE
} ID3D12HeapVtbl;
interface ID3D12Heap {
CONST_VTBL ID3D12HeapVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12Heap_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Heap_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Heap_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Heap_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Heap_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12Heap methods ***/
#define ID3D12Heap_GetDesc(This) ID3D12Heap_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Heap_QueryInterface(ID3D12Heap* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Heap_AddRef(ID3D12Heap* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Heap_Release(ID3D12Heap* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Heap_GetPrivateData(ID3D12Heap* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Heap_SetPrivateData(ID3D12Heap* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Heap_SetPrivateDataInterface(ID3D12Heap* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Heap_SetName(ID3D12Heap* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Heap_GetDevice(ID3D12Heap* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12Heap methods ***/
static __WIDL_INLINE D3D12_HEAP_DESC ID3D12Heap_GetDesc(ID3D12Heap* This) {
D3D12_HEAP_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12Heap_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Resource interface
*/
#ifndef __ID3D12Resource_INTERFACE_DEFINED__
#define __ID3D12Resource_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Resource, 0x696442be, 0xa72e, 0x4059, 0xbc,0x79, 0x5b,0x5c,0x98,0x04,0x0f,0xad);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
ID3D12Resource : public ID3D12Pageable
{
virtual HRESULT STDMETHODCALLTYPE Map(
UINT sub_resource,
const D3D12_RANGE *read_range,
void **data) = 0;
virtual void STDMETHODCALLTYPE Unmap(
UINT sub_resource,
const D3D12_RANGE *written_range) = 0;
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_RESOURCE_DESC* STDMETHODCALLTYPE GetDesc(
D3D12_RESOURCE_DESC *__ret) = 0;
D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc(
)
{
D3D12_RESOURCE_DESC __ret;
return *GetDesc(&__ret);
}
#else
virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc(
) = 0;
#endif
virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress(
) = 0;
virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
UINT dst_sub_resource,
const D3D12_BOX *dst_box,
const void *src_data,
UINT src_row_pitch,
UINT src_slice_pitch) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
void *dst_data,
UINT dst_row_pitch,
UINT dst_slice_pitch,
UINT src_sub_resource,
const D3D12_BOX *src_box) = 0;
virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS *flags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Resource, 0x696442be, 0xa72e, 0x4059, 0xbc,0x79, 0x5b,0x5c,0x98,0x04,0x0f,0xad)
#endif
#else
typedef struct ID3D12ResourceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Resource *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Resource *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Resource *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Resource *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Resource *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Resource *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Resource *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Resource *This,
REFIID riid,
void **device);
/*** ID3D12Resource methods ***/
HRESULT (STDMETHODCALLTYPE *Map)(
ID3D12Resource *This,
UINT sub_resource,
const D3D12_RANGE *read_range,
void **data);
void (STDMETHODCALLTYPE *Unmap)(
ID3D12Resource *This,
UINT sub_resource,
const D3D12_RANGE *written_range);
D3D12_RESOURCE_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12Resource *This,
D3D12_RESOURCE_DESC *__ret);
D3D12_GPU_VIRTUAL_ADDRESS (STDMETHODCALLTYPE *GetGPUVirtualAddress)(
ID3D12Resource *This);
HRESULT (STDMETHODCALLTYPE *WriteToSubresource)(
ID3D12Resource *This,
UINT dst_sub_resource,
const D3D12_BOX *dst_box,
const void *src_data,
UINT src_row_pitch,
UINT src_slice_pitch);
HRESULT (STDMETHODCALLTYPE *ReadFromSubresource)(
ID3D12Resource *This,
void *dst_data,
UINT dst_row_pitch,
UINT dst_slice_pitch,
UINT src_sub_resource,
const D3D12_BOX *src_box);
HRESULT (STDMETHODCALLTYPE *GetHeapProperties)(
ID3D12Resource *This,
D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS *flags);
END_INTERFACE
} ID3D12ResourceVtbl;
interface ID3D12Resource {
CONST_VTBL ID3D12ResourceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12Resource_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Resource_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Resource_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Resource_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Resource_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12Resource methods ***/
#define ID3D12Resource_Map(This,sub_resource,read_range,data) (This)->lpVtbl->Map(This,sub_resource,read_range,data)
#define ID3D12Resource_Unmap(This,sub_resource,written_range) (This)->lpVtbl->Unmap(This,sub_resource,written_range)
#define ID3D12Resource_GetDesc(This) ID3D12Resource_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Resource_GetGPUVirtualAddress(This) (This)->lpVtbl->GetGPUVirtualAddress(This)
#define ID3D12Resource_WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch) (This)->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch)
#define ID3D12Resource_ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box) (This)->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box)
#define ID3D12Resource_GetHeapProperties(This,heap_properties,flags) (This)->lpVtbl->GetHeapProperties(This,heap_properties,flags)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource_QueryInterface(ID3D12Resource* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Resource_AddRef(ID3D12Resource* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Resource_Release(ID3D12Resource* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource_GetPrivateData(ID3D12Resource* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource_SetPrivateData(ID3D12Resource* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource_SetPrivateDataInterface(ID3D12Resource* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource_SetName(ID3D12Resource* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource_GetDevice(ID3D12Resource* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12Resource methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource_Map(ID3D12Resource* This,UINT sub_resource,const D3D12_RANGE *read_range,void **data) {
return This->lpVtbl->Map(This,sub_resource,read_range,data);
}
static __WIDL_INLINE void ID3D12Resource_Unmap(ID3D12Resource* This,UINT sub_resource,const D3D12_RANGE *written_range) {
This->lpVtbl->Unmap(This,sub_resource,written_range);
}
static __WIDL_INLINE D3D12_RESOURCE_DESC ID3D12Resource_GetDesc(ID3D12Resource* This) {
D3D12_RESOURCE_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
static __WIDL_INLINE D3D12_GPU_VIRTUAL_ADDRESS ID3D12Resource_GetGPUVirtualAddress(ID3D12Resource* This) {
return This->lpVtbl->GetGPUVirtualAddress(This);
}
static __WIDL_INLINE HRESULT ID3D12Resource_WriteToSubresource(ID3D12Resource* This,UINT dst_sub_resource,const D3D12_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_slice_pitch) {
return This->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch);
}
static __WIDL_INLINE HRESULT ID3D12Resource_ReadFromSubresource(ID3D12Resource* This,void *dst_data,UINT dst_row_pitch,UINT dst_slice_pitch,UINT src_sub_resource,const D3D12_BOX *src_box) {
return This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box);
}
static __WIDL_INLINE HRESULT ID3D12Resource_GetHeapProperties(ID3D12Resource* This,D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS *flags) {
return This->lpVtbl->GetHeapProperties(This,heap_properties,flags);
}
#endif
#endif
#endif
#endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12CommandList interface
*/
#ifndef __ID3D12CommandList_INTERFACE_DEFINED__
#define __ID3D12CommandList_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12CommandList, 0x7116d91c, 0xe7e4, 0x47ce, 0xb8,0xc6, 0xec,0x81,0x68,0xf4,0x37,0xe5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
ID3D12CommandList : public ID3D12DeviceChild
{
virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12CommandList, 0x7116d91c, 0xe7e4, 0x47ce, 0xb8,0xc6, 0xec,0x81,0x68,0xf4,0x37,0xe5)
#endif
#else
typedef struct ID3D12CommandListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12CommandList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12CommandList *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12CommandList *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12CommandList *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12CommandList *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12CommandList *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12CommandList *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12CommandList *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12CommandList *This);
END_INTERFACE
} ID3D12CommandListVtbl;
interface ID3D12CommandList {
CONST_VTBL ID3D12CommandListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12CommandList_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12CommandList_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12CommandList_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12CommandList_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12CommandList_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12CommandList_GetType(This) (This)->lpVtbl->GetType(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandList_QueryInterface(ID3D12CommandList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12CommandList_AddRef(ID3D12CommandList* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12CommandList_Release(ID3D12CommandList* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandList_GetPrivateData(ID3D12CommandList* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandList_SetPrivateData(ID3D12CommandList* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandList_SetPrivateDataInterface(ID3D12CommandList* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandList_SetName(ID3D12CommandList* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandList_GetDevice(ID3D12CommandList* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12CommandList_GetType(ID3D12CommandList* This) {
return This->lpVtbl->GetType(This);
}
#endif
#endif
#endif
#endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
typedef enum D3D12_TILE_COPY_FLAGS {
D3D12_TILE_COPY_FLAG_NONE = 0x0,
D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1,
D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
} D3D12_TILE_COPY_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_COPY_FLAGS);
typedef struct D3D12_INDEX_BUFFER_VIEW {
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
UINT SizeInBytes;
DXGI_FORMAT Format;
} D3D12_INDEX_BUFFER_VIEW;
typedef struct D3D12_VERTEX_BUFFER_VIEW {
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
UINT SizeInBytes;
UINT StrideInBytes;
} D3D12_VERTEX_BUFFER_VIEW;
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 enum D3D12_CLEAR_FLAGS {
D3D12_CLEAR_FLAG_DEPTH = 0x1,
D3D12_CLEAR_FLAG_STENCIL = 0x2
} D3D12_CLEAR_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_CLEAR_FLAGS);
typedef struct D3D12_DISCARD_REGION {
UINT NumRects;
const D3D12_RECT *pRects;
UINT FirstSubresource;
UINT NumSubresources;
} D3D12_DISCARD_REGION;
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_VIDEO_DECODE_STATISTICS = 8,
D3D12_QUERY_TYPE_PIPELINE_STATISTICS1 = 10
} D3D12_QUERY_TYPE;
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_PIPELINE_STATISTICS1 {
UINT64 IAVertices;
UINT64 IAPrimitives;
UINT64 VSInvocations;
UINT64 GSInvocations;
UINT64 GSPrimitives;
UINT64 CInvocations;
UINT64 CPrimitives;
UINT64 PSInvocations;
UINT64 HSInvocations;
UINT64 DSInvocations;
UINT64 CSInvocations;
UINT64 ASInvocations;
UINT64 MSInvocations;
UINT64 MSPrimitives;
} D3D12_QUERY_DATA_PIPELINE_STATISTICS1;
typedef struct D3D12_QUERY_DATA_SO_STATISTICS {
UINT64 NumPrimitivesWritten;
UINT64 PrimitivesStorageNeeded;
} D3D12_QUERY_DATA_SO_STATISTICS;
typedef enum D3D12_PREDICATION_OP {
D3D12_PREDICATION_OP_EQUAL_ZERO = 0,
D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
} D3D12_PREDICATION_OP;
/*****************************************************************************
* ID3D12DescriptorHeap interface
*/
#ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
#define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12DescriptorHeap, 0x8efb471d, 0x616c, 0x4f49, 0x90,0xf7, 0x12,0x7b,0xb7,0x63,0xfa,0x51);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
ID3D12DescriptorHeap : public ID3D12Pageable
{
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_DESCRIPTOR_HEAP_DESC* STDMETHODCALLTYPE GetDesc(
D3D12_DESCRIPTOR_HEAP_DESC *__ret) = 0;
D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc(
)
{
D3D12_DESCRIPTOR_HEAP_DESC __ret;
return *GetDesc(&__ret);
}
#else
virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc(
) = 0;
#endif
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_CPU_DESCRIPTOR_HANDLE* STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart(
D3D12_CPU_DESCRIPTOR_HANDLE *__ret) = 0;
D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart(
)
{
D3D12_CPU_DESCRIPTOR_HANDLE __ret;
return *GetCPUDescriptorHandleForHeapStart(&__ret);
}
#else
virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart(
) = 0;
#endif
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_GPU_DESCRIPTOR_HANDLE* STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart(
D3D12_GPU_DESCRIPTOR_HANDLE *__ret) = 0;
D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart(
)
{
D3D12_GPU_DESCRIPTOR_HANDLE __ret;
return *GetGPUDescriptorHandleForHeapStart(&__ret);
}
#else
virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DescriptorHeap, 0x8efb471d, 0x616c, 0x4f49, 0x90,0xf7, 0x12,0x7b,0xb7,0x63,0xfa,0x51)
#endif
#else
typedef struct ID3D12DescriptorHeapVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12DescriptorHeap *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12DescriptorHeap *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12DescriptorHeap *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12DescriptorHeap *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12DescriptorHeap *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12DescriptorHeap *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12DescriptorHeap *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12DescriptorHeap *This,
REFIID riid,
void **device);
/*** ID3D12DescriptorHeap methods ***/
D3D12_DESCRIPTOR_HEAP_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12DescriptorHeap *This,
D3D12_DESCRIPTOR_HEAP_DESC *__ret);
D3D12_CPU_DESCRIPTOR_HANDLE * (STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart)(
ID3D12DescriptorHeap *This,
D3D12_CPU_DESCRIPTOR_HANDLE *__ret);
D3D12_GPU_DESCRIPTOR_HANDLE * (STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart)(
ID3D12DescriptorHeap *This,
D3D12_GPU_DESCRIPTOR_HANDLE *__ret);
END_INTERFACE
} ID3D12DescriptorHeapVtbl;
interface ID3D12DescriptorHeap {
CONST_VTBL ID3D12DescriptorHeapVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12DescriptorHeap_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12DescriptorHeap_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12DescriptorHeap_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12DescriptorHeap_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12DescriptorHeap_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12DescriptorHeap methods ***/
#define ID3D12DescriptorHeap_GetDesc(This) ID3D12DescriptorHeap_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_QueryInterface(ID3D12DescriptorHeap* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12DescriptorHeap_AddRef(ID3D12DescriptorHeap* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12DescriptorHeap_Release(ID3D12DescriptorHeap* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_GetPrivateData(ID3D12DescriptorHeap* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_SetPrivateData(ID3D12DescriptorHeap* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_SetPrivateDataInterface(ID3D12DescriptorHeap* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_SetName(ID3D12DescriptorHeap* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12DescriptorHeap_GetDevice(ID3D12DescriptorHeap* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12DescriptorHeap methods ***/
static __WIDL_INLINE D3D12_DESCRIPTOR_HEAP_DESC ID3D12DescriptorHeap_GetDesc(ID3D12DescriptorHeap* This) {
D3D12_DESCRIPTOR_HEAP_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
static __WIDL_INLINE D3D12_CPU_DESCRIPTOR_HANDLE ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap* This) {
D3D12_CPU_DESCRIPTOR_HANDLE __ret;
return *This->lpVtbl->GetCPUDescriptorHandleForHeapStart(This,&__ret);
}
static __WIDL_INLINE D3D12_GPU_DESCRIPTOR_HANDLE ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(ID3D12DescriptorHeap* This) {
D3D12_GPU_DESCRIPTOR_HANDLE __ret;
return *This->lpVtbl->GetGPUDescriptorHandleForHeapStart(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12QueryHeap interface
*/
#ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
#define __ID3D12QueryHeap_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12QueryHeap, 0x0d9658ae, 0xed45, 0x469e, 0xa6,0x1d, 0x97,0x0e,0xc5,0x83,0xca,0xb4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
ID3D12QueryHeap : public ID3D12Pageable
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12QueryHeap, 0x0d9658ae, 0xed45, 0x469e, 0xa6,0x1d, 0x97,0x0e,0xc5,0x83,0xca,0xb4)
#endif
#else
typedef struct ID3D12QueryHeapVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12QueryHeap *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12QueryHeap *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12QueryHeap *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12QueryHeap *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12QueryHeap *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12QueryHeap *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12QueryHeap *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12QueryHeap *This,
REFIID riid,
void **device);
END_INTERFACE
} ID3D12QueryHeapVtbl;
interface ID3D12QueryHeap {
CONST_VTBL ID3D12QueryHeapVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12QueryHeap_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12QueryHeap_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12QueryHeap_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12QueryHeap_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12QueryHeap_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12QueryHeap_QueryInterface(ID3D12QueryHeap* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12QueryHeap_AddRef(ID3D12QueryHeap* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12QueryHeap_Release(ID3D12QueryHeap* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12QueryHeap_GetPrivateData(ID3D12QueryHeap* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12QueryHeap_SetPrivateData(ID3D12QueryHeap* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12QueryHeap_SetPrivateDataInterface(ID3D12QueryHeap* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12QueryHeap_SetName(ID3D12QueryHeap* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12QueryHeap_GetDevice(ID3D12QueryHeap* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
#endif
#endif
#endif
#endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12CommandSignature interface
*/
#ifndef __ID3D12CommandSignature_INTERFACE_DEFINED__
#define __ID3D12CommandSignature_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12CommandSignature, 0xc36a797c, 0xec80, 0x4f0a, 0x89,0x85, 0xa7,0xb2,0x47,0x50,0x82,0xd1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c36a797c-ec80-4f0a-8985-a7b2475082d1")
ID3D12CommandSignature : public ID3D12Pageable
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12CommandSignature, 0xc36a797c, 0xec80, 0x4f0a, 0x89,0x85, 0xa7,0xb2,0x47,0x50,0x82,0xd1)
#endif
#else
typedef struct ID3D12CommandSignatureVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12CommandSignature *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12CommandSignature *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12CommandSignature *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12CommandSignature *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12CommandSignature *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12CommandSignature *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12CommandSignature *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12CommandSignature *This,
REFIID riid,
void **device);
END_INTERFACE
} ID3D12CommandSignatureVtbl;
interface ID3D12CommandSignature {
CONST_VTBL ID3D12CommandSignatureVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12CommandSignature_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12CommandSignature_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12CommandSignature_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12CommandSignature_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12CommandSignature_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandSignature_QueryInterface(ID3D12CommandSignature* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12CommandSignature_AddRef(ID3D12CommandSignature* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12CommandSignature_Release(ID3D12CommandSignature* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandSignature_GetPrivateData(ID3D12CommandSignature* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandSignature_SetPrivateData(ID3D12CommandSignature* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandSignature_SetPrivateDataInterface(ID3D12CommandSignature* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandSignature_SetName(ID3D12CommandSignature* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandSignature_GetDevice(ID3D12CommandSignature* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
#endif
#endif
#endif
#endif /* __ID3D12CommandSignature_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12GraphicsCommandList interface
*/
#ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList, 0x5b160d0f, 0xac1b, 0x4185, 0x8b,0xa8, 0xb3,0xae,0x42,0xa5,0xa4,0x55);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
ID3D12GraphicsCommandList : public ID3D12CommandList
{
virtual HRESULT STDMETHODCALLTYPE Close(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset(
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state) = 0;
virtual void STDMETHODCALLTYPE ClearState(
ID3D12PipelineState *pipeline_state) = 0;
virtual void STDMETHODCALLTYPE DrawInstanced(
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location) = 0;
virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location) = 0;
virtual void STDMETHODCALLTYPE Dispatch(
UINT x,
UINT u,
UINT z) = 0;
virtual void STDMETHODCALLTYPE CopyBufferRegion(
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count) = 0;
virtual void STDMETHODCALLTYPE CopyTextureRegion(
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box) = 0;
virtual void STDMETHODCALLTYPE CopyResource(
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource) = 0;
virtual void STDMETHODCALLTYPE CopyTiles(
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags) = 0;
virtual void STDMETHODCALLTYPE ResolveSubresource(
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format) = 0;
virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
D3D12_PRIMITIVE_TOPOLOGY primitive_topology) = 0;
virtual void STDMETHODCALLTYPE RSSetViewports(
UINT viewport_count,
const D3D12_VIEWPORT *viewports) = 0;
virtual void STDMETHODCALLTYPE RSSetScissorRects(
UINT rect_count,
const D3D12_RECT *rects) = 0;
virtual void STDMETHODCALLTYPE OMSetBlendFactor(
const FLOAT blend_factor[4]) = 0;
virtual void STDMETHODCALLTYPE OMSetStencilRef(
UINT stencil_ref) = 0;
virtual void STDMETHODCALLTYPE SetPipelineState(
ID3D12PipelineState *pipeline_state) = 0;
virtual void STDMETHODCALLTYPE ResourceBarrier(
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers) = 0;
virtual void STDMETHODCALLTYPE ExecuteBundle(
ID3D12GraphicsCommandList *command_list) = 0;
virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
UINT heap_count,
ID3D12DescriptorHeap *const *heaps) = 0;
virtual void STDMETHODCALLTYPE SetComputeRootSignature(
ID3D12RootSignature *root_signature) = 0;
virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
ID3D12RootSignature *root_signature) = 0;
virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) = 0;
virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) = 0;
virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
UINT root_parameter_index,
UINT data,
UINT dst_offset) = 0;
virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
UINT root_parameter_index,
UINT data,
UINT dst_offset) = 0;
virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset) = 0;
virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset) = 0;
virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address) = 0;
virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address) = 0;
virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address) = 0;
virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address) = 0;
virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address) = 0;
virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address) = 0;
virtual void STDMETHODCALLTYPE IASetIndexBuffer(
const D3D12_INDEX_BUFFER_VIEW *view) = 0;
virtual void STDMETHODCALLTYPE IASetVertexBuffers(
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views) = 0;
virtual void STDMETHODCALLTYPE SOSetTargets(
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) = 0;
virtual void STDMETHODCALLTYPE OMSetRenderTargets(
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) = 0;
virtual void STDMETHODCALLTYPE ClearDepthStencilView(
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects) = 0;
virtual void STDMETHODCALLTYPE ClearRenderTargetView(
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects) = 0;
virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects) = 0;
virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects) = 0;
virtual void STDMETHODCALLTYPE DiscardResource(
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region) = 0;
virtual void STDMETHODCALLTYPE BeginQuery(
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index) = 0;
virtual void STDMETHODCALLTYPE EndQuery(
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index) = 0;
virtual void STDMETHODCALLTYPE ResolveQueryData(
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset) = 0;
virtual void STDMETHODCALLTYPE SetPredication(
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation) = 0;
virtual void STDMETHODCALLTYPE SetMarker(
UINT metadata,
const void *data,
UINT size) = 0;
virtual void STDMETHODCALLTYPE BeginEvent(
UINT metadata,
const void *data,
UINT size) = 0;
virtual void STDMETHODCALLTYPE EndEvent(
) = 0;
virtual void STDMETHODCALLTYPE ExecuteIndirect(
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList, 0x5b160d0f, 0xac1b, 0x4185, 0x8b,0xa8, 0xb3,0xae,0x42,0xa5,0xa4,0x55)
#endif
#else
typedef struct ID3D12GraphicsCommandListVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
END_INTERFACE
} ID3D12GraphicsCommandListVtbl;
interface ID3D12GraphicsCommandList {
CONST_VTBL ID3D12GraphicsCommandListVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_QueryInterface(ID3D12GraphicsCommandList* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList_AddRef(ID3D12GraphicsCommandList* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList_Release(ID3D12GraphicsCommandList* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_GetPrivateData(ID3D12GraphicsCommandList* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_SetPrivateData(ID3D12GraphicsCommandList* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_SetPrivateDataInterface(ID3D12GraphicsCommandList* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_SetName(ID3D12GraphicsCommandList* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_GetDevice(ID3D12GraphicsCommandList* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList_GetType(ID3D12GraphicsCommandList* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_Close(ID3D12GraphicsCommandList* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList_Reset(ID3D12GraphicsCommandList* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearState(ID3D12GraphicsCommandList* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_DrawInstanced(ID3D12GraphicsCommandList* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_DrawIndexedInstanced(ID3D12GraphicsCommandList* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_Dispatch(ID3D12GraphicsCommandList* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyBufferRegion(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyTextureRegion(ID3D12GraphicsCommandList* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyResource(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_CopyTiles(ID3D12GraphicsCommandList* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ResolveSubresource(ID3D12GraphicsCommandList* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_IASetPrimitiveTopology(ID3D12GraphicsCommandList* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_RSSetViewports(ID3D12GraphicsCommandList* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_RSSetScissorRects(ID3D12GraphicsCommandList* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_OMSetBlendFactor(ID3D12GraphicsCommandList* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_OMSetStencilRef(ID3D12GraphicsCommandList* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetPipelineState(ID3D12GraphicsCommandList* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ResourceBarrier(ID3D12GraphicsCommandList* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ExecuteBundle(ID3D12GraphicsCommandList* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetDescriptorHeaps(ID3D12GraphicsCommandList* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootSignature(ID3D12GraphicsCommandList* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootSignature(ID3D12GraphicsCommandList* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_IASetIndexBuffer(ID3D12GraphicsCommandList* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_IASetVertexBuffers(ID3D12GraphicsCommandList* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SOSetTargets(ID3D12GraphicsCommandList* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_OMSetRenderTargets(ID3D12GraphicsCommandList* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearDepthStencilView(ID3D12GraphicsCommandList* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearRenderTargetView(ID3D12GraphicsCommandList* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_DiscardResource(ID3D12GraphicsCommandList* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_BeginQuery(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_EndQuery(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ResolveQueryData(ID3D12GraphicsCommandList* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetPredication(ID3D12GraphicsCommandList* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_SetMarker(ID3D12GraphicsCommandList* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_BeginEvent(ID3D12GraphicsCommandList* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_EndEvent(ID3D12GraphicsCommandList* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList_ExecuteIndirect(ID3D12GraphicsCommandList* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12GraphicsCommandList1 interface
*/
#ifndef __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList1, 0x553103fb, 0x1fe7, 0x4557, 0xbb,0x38, 0x94,0x6d,0x7d,0x0e,0x7c,0xa7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("553103fb-1fe7-4557-bb38-946d7d0e7ca7")
ID3D12GraphicsCommandList1 : public ID3D12GraphicsCommandList
{
virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT(
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) = 0;
virtual void STDMETHODCALLTYPE AtomicCopyBufferUINT64(
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) = 0;
virtual void STDMETHODCALLTYPE OMSetDepthBounds(
FLOAT min,
FLOAT max) = 0;
virtual void STDMETHODCALLTYPE SetSamplePositions(
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions) = 0;
virtual void STDMETHODCALLTYPE ResolveSubresourceRegion(
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode) = 0;
virtual void STDMETHODCALLTYPE SetViewInstanceMask(
UINT mask) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList1, 0x553103fb, 0x1fe7, 0x4557, 0xbb,0x38, 0x94,0x6d,0x7d,0x0e,0x7c,0xa7)
#endif
#else
typedef struct ID3D12GraphicsCommandList1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList1 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList1 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList1 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList1 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList1 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList1 *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList1 *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList1 *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList1 *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList1 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList1 *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList1 *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList1 *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList1 *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList1 *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList1 *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList1 *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList1 *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList1 *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList1 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList1 *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList1 *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList1 *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList1 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList1 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList1 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList1 *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList1 *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList1 *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList1 *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList1 *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList1 *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList1 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList1 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList1 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList1 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList1 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList1 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList1 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList1 *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList1 *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
/*** ID3D12GraphicsCommandList1 methods ***/
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *OMSetDepthBounds)(
ID3D12GraphicsCommandList1 *This,
FLOAT min,
FLOAT max);
void (STDMETHODCALLTYPE *SetSamplePositions)(
ID3D12GraphicsCommandList1 *This,
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions);
void (STDMETHODCALLTYPE *ResolveSubresourceRegion)(
ID3D12GraphicsCommandList1 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode);
void (STDMETHODCALLTYPE *SetViewInstanceMask)(
ID3D12GraphicsCommandList1 *This,
UINT mask);
END_INTERFACE
} ID3D12GraphicsCommandList1Vtbl;
interface ID3D12GraphicsCommandList1 {
CONST_VTBL ID3D12GraphicsCommandList1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12GraphicsCommandList1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12GraphicsCommandList1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12GraphicsCommandList1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList1_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList1_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList1_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList1_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList1_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList1_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList1_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList1_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList1_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList1_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList1_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList1_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList1_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList1_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList1_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList1_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList1_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList1_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList1_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList1_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList1_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList1_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList1_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList1_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList1_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList1_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList1_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList1_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList1_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList1_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList1_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList1_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList1_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList1_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList1_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList1_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList1_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList1_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList1_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
/*** ID3D12GraphicsCommandList1 methods ***/
#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList1_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max)
#define ID3D12GraphicsCommandList1_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions)
#define ID3D12GraphicsCommandList1_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode)
#define ID3D12GraphicsCommandList1_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_QueryInterface(ID3D12GraphicsCommandList1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList1_AddRef(ID3D12GraphicsCommandList1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList1_Release(ID3D12GraphicsCommandList1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_GetPrivateData(ID3D12GraphicsCommandList1* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_SetPrivateData(ID3D12GraphicsCommandList1* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_SetPrivateDataInterface(ID3D12GraphicsCommandList1* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_SetName(ID3D12GraphicsCommandList1* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_GetDevice(ID3D12GraphicsCommandList1* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList1_GetType(ID3D12GraphicsCommandList1* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_Close(ID3D12GraphicsCommandList1* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList1_Reset(ID3D12GraphicsCommandList1* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearState(ID3D12GraphicsCommandList1* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_DrawInstanced(ID3D12GraphicsCommandList1* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_DrawIndexedInstanced(ID3D12GraphicsCommandList1* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_Dispatch(ID3D12GraphicsCommandList1* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyBufferRegion(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyTextureRegion(ID3D12GraphicsCommandList1* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyResource(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_CopyTiles(ID3D12GraphicsCommandList1* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResolveSubresource(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_IASetPrimitiveTopology(ID3D12GraphicsCommandList1* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_RSSetViewports(ID3D12GraphicsCommandList1* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_RSSetScissorRects(ID3D12GraphicsCommandList1* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetBlendFactor(ID3D12GraphicsCommandList1* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetStencilRef(ID3D12GraphicsCommandList1* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetPipelineState(ID3D12GraphicsCommandList1* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResourceBarrier(ID3D12GraphicsCommandList1* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ExecuteBundle(ID3D12GraphicsCommandList1* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetDescriptorHeaps(ID3D12GraphicsCommandList1* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootSignature(ID3D12GraphicsCommandList1* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootSignature(ID3D12GraphicsCommandList1* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList1* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_IASetIndexBuffer(ID3D12GraphicsCommandList1* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_IASetVertexBuffers(ID3D12GraphicsCommandList1* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SOSetTargets(ID3D12GraphicsCommandList1* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetRenderTargets(ID3D12GraphicsCommandList1* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearDepthStencilView(ID3D12GraphicsCommandList1* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearRenderTargetView(ID3D12GraphicsCommandList1* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList1* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList1* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_DiscardResource(ID3D12GraphicsCommandList1* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_BeginQuery(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_EndQuery(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResolveQueryData(ID3D12GraphicsCommandList1* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetPredication(ID3D12GraphicsCommandList1* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetMarker(ID3D12GraphicsCommandList1* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_BeginEvent(ID3D12GraphicsCommandList1* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_EndEvent(ID3D12GraphicsCommandList1* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ExecuteIndirect(ID3D12GraphicsCommandList1* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
/*** ID3D12GraphicsCommandList1 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList1_AtomicCopyBufferUINT(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_OMSetDepthBounds(ID3D12GraphicsCommandList1* This,FLOAT min,FLOAT max) {
This->lpVtbl->OMSetDepthBounds(This,min,max);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetSamplePositions(ID3D12GraphicsCommandList1* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) {
This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_ResolveSubresourceRegion(ID3D12GraphicsCommandList1* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) {
This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList1_SetViewInstanceMask(ID3D12GraphicsCommandList1* This,UINT mask) {
This->lpVtbl->SetViewInstanceMask(This,mask);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12GraphicsCommandList2 interface
*/
#ifndef __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList2, 0x38c3e585, 0xff17, 0x412c, 0x91,0x50, 0x4f,0xc6,0xf9,0xd7,0x2a,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("38c3e585-ff17-412c-9150-4fc6f9d72a28")
ID3D12GraphicsCommandList2 : public ID3D12GraphicsCommandList1
{
virtual void STDMETHODCALLTYPE WriteBufferImmediate(
UINT count,
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList2, 0x38c3e585, 0xff17, 0x412c, 0x91,0x50, 0x4f,0xc6,0xf9,0xd7,0x2a,0x28)
#endif
#else
typedef struct ID3D12GraphicsCommandList2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList2 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList2 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList2 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList2 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList2 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList2 *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList2 *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList2 *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList2 *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList2 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList2 *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList2 *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList2 *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList2 *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList2 *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList2 *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList2 *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList2 *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList2 *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList2 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList2 *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList2 *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList2 *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList2 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList2 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList2 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList2 *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList2 *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList2 *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList2 *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList2 *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList2 *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList2 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList2 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList2 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList2 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList2 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList2 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList2 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList2 *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList2 *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
/*** ID3D12GraphicsCommandList1 methods ***/
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *OMSetDepthBounds)(
ID3D12GraphicsCommandList2 *This,
FLOAT min,
FLOAT max);
void (STDMETHODCALLTYPE *SetSamplePositions)(
ID3D12GraphicsCommandList2 *This,
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions);
void (STDMETHODCALLTYPE *ResolveSubresourceRegion)(
ID3D12GraphicsCommandList2 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode);
void (STDMETHODCALLTYPE *SetViewInstanceMask)(
ID3D12GraphicsCommandList2 *This,
UINT mask);
/*** ID3D12GraphicsCommandList2 methods ***/
void (STDMETHODCALLTYPE *WriteBufferImmediate)(
ID3D12GraphicsCommandList2 *This,
UINT count,
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes);
END_INTERFACE
} ID3D12GraphicsCommandList2Vtbl;
interface ID3D12GraphicsCommandList2 {
CONST_VTBL ID3D12GraphicsCommandList2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12GraphicsCommandList2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12GraphicsCommandList2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12GraphicsCommandList2_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList2_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList2_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList2_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList2_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList2_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList2_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList2_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList2_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList2_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList2_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList2_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList2_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList2_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList2_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList2_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList2_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList2_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList2_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList2_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList2_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList2_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList2_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList2_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList2_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList2_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList2_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList2_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList2_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList2_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList2_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList2_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList2_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList2_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList2_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList2_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList2_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList2_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList2_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList2_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList2_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList2_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList2_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList2_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
/*** ID3D12GraphicsCommandList1 methods ***/
#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList2_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max)
#define ID3D12GraphicsCommandList2_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions)
#define ID3D12GraphicsCommandList2_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode)
#define ID3D12GraphicsCommandList2_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask)
/*** ID3D12GraphicsCommandList2 methods ***/
#define ID3D12GraphicsCommandList2_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_QueryInterface(ID3D12GraphicsCommandList2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList2_AddRef(ID3D12GraphicsCommandList2* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList2_Release(ID3D12GraphicsCommandList2* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_GetPrivateData(ID3D12GraphicsCommandList2* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_SetPrivateData(ID3D12GraphicsCommandList2* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_SetPrivateDataInterface(ID3D12GraphicsCommandList2* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_SetName(ID3D12GraphicsCommandList2* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_GetDevice(ID3D12GraphicsCommandList2* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList2_GetType(ID3D12GraphicsCommandList2* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_Close(ID3D12GraphicsCommandList2* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList2_Reset(ID3D12GraphicsCommandList2* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearState(ID3D12GraphicsCommandList2* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_DrawInstanced(ID3D12GraphicsCommandList2* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_DrawIndexedInstanced(ID3D12GraphicsCommandList2* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_Dispatch(ID3D12GraphicsCommandList2* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyBufferRegion(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyTextureRegion(ID3D12GraphicsCommandList2* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyResource(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_CopyTiles(ID3D12GraphicsCommandList2* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResolveSubresource(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_IASetPrimitiveTopology(ID3D12GraphicsCommandList2* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_RSSetViewports(ID3D12GraphicsCommandList2* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_RSSetScissorRects(ID3D12GraphicsCommandList2* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetBlendFactor(ID3D12GraphicsCommandList2* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetStencilRef(ID3D12GraphicsCommandList2* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetPipelineState(ID3D12GraphicsCommandList2* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResourceBarrier(ID3D12GraphicsCommandList2* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ExecuteBundle(ID3D12GraphicsCommandList2* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetDescriptorHeaps(ID3D12GraphicsCommandList2* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootSignature(ID3D12GraphicsCommandList2* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootSignature(ID3D12GraphicsCommandList2* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList2* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_IASetIndexBuffer(ID3D12GraphicsCommandList2* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_IASetVertexBuffers(ID3D12GraphicsCommandList2* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SOSetTargets(ID3D12GraphicsCommandList2* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetRenderTargets(ID3D12GraphicsCommandList2* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearDepthStencilView(ID3D12GraphicsCommandList2* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearRenderTargetView(ID3D12GraphicsCommandList2* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList2* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList2* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_DiscardResource(ID3D12GraphicsCommandList2* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_BeginQuery(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_EndQuery(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResolveQueryData(ID3D12GraphicsCommandList2* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetPredication(ID3D12GraphicsCommandList2* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetMarker(ID3D12GraphicsCommandList2* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_BeginEvent(ID3D12GraphicsCommandList2* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_EndEvent(ID3D12GraphicsCommandList2* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ExecuteIndirect(ID3D12GraphicsCommandList2* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
/*** ID3D12GraphicsCommandList1 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList2_AtomicCopyBufferUINT(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_OMSetDepthBounds(ID3D12GraphicsCommandList2* This,FLOAT min,FLOAT max) {
This->lpVtbl->OMSetDepthBounds(This,min,max);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetSamplePositions(ID3D12GraphicsCommandList2* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) {
This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_ResolveSubresourceRegion(ID3D12GraphicsCommandList2* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) {
This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList2_SetViewInstanceMask(ID3D12GraphicsCommandList2* This,UINT mask) {
This->lpVtbl->SetViewInstanceMask(This,mask);
}
/*** ID3D12GraphicsCommandList2 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList2_WriteBufferImmediate(ID3D12GraphicsCommandList2* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) {
This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList2_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12ProtectedSession interface
*/
#ifndef __ID3D12ProtectedSession_INTERFACE_DEFINED__
#define __ID3D12ProtectedSession_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12ProtectedSession, 0xa1533d18, 0x0ac1, 0x4084, 0x85,0xb9, 0x89,0xa9,0x61,0x16,0x80,0x6b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a1533d18-0ac1-4084-85b9-89a96116806b")
ID3D12ProtectedSession : public ID3D12DeviceChild
{
virtual HRESULT STDMETHODCALLTYPE GetStatusFence(
REFIID riid,
void **fence) = 0;
virtual D3D12_PROTECTED_SESSION_STATUS STDMETHODCALLTYPE GetSessionStatus(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12ProtectedSession, 0xa1533d18, 0x0ac1, 0x4084, 0x85,0xb9, 0x89,0xa9,0x61,0x16,0x80,0x6b)
#endif
#else
typedef struct ID3D12ProtectedSessionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12ProtectedSession *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12ProtectedSession *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12ProtectedSession *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12ProtectedSession *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12ProtectedSession *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12ProtectedSession *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12ProtectedSession *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12ProtectedSession *This,
REFIID riid,
void **device);
/*** ID3D12ProtectedSession methods ***/
HRESULT (STDMETHODCALLTYPE *GetStatusFence)(
ID3D12ProtectedSession *This,
REFIID riid,
void **fence);
D3D12_PROTECTED_SESSION_STATUS (STDMETHODCALLTYPE *GetSessionStatus)(
ID3D12ProtectedSession *This);
END_INTERFACE
} ID3D12ProtectedSessionVtbl;
interface ID3D12ProtectedSession {
CONST_VTBL ID3D12ProtectedSessionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12ProtectedSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12ProtectedSession_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12ProtectedSession_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12ProtectedSession_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12ProtectedSession_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12ProtectedSession_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12ProtectedSession_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12ProtectedSession_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12ProtectedSession methods ***/
#define ID3D12ProtectedSession_GetStatusFence(This,riid,fence) (This)->lpVtbl->GetStatusFence(This,riid,fence)
#define ID3D12ProtectedSession_GetSessionStatus(This) (This)->lpVtbl->GetSessionStatus(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedSession_QueryInterface(ID3D12ProtectedSession* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12ProtectedSession_AddRef(ID3D12ProtectedSession* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12ProtectedSession_Release(ID3D12ProtectedSession* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedSession_GetPrivateData(ID3D12ProtectedSession* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedSession_SetPrivateData(ID3D12ProtectedSession* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedSession_SetPrivateDataInterface(ID3D12ProtectedSession* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedSession_SetName(ID3D12ProtectedSession* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedSession_GetDevice(ID3D12ProtectedSession* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12ProtectedSession methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedSession_GetStatusFence(ID3D12ProtectedSession* This,REFIID riid,void **fence) {
return This->lpVtbl->GetStatusFence(This,riid,fence);
}
static __WIDL_INLINE D3D12_PROTECTED_SESSION_STATUS ID3D12ProtectedSession_GetSessionStatus(ID3D12ProtectedSession* This) {
return This->lpVtbl->GetSessionStatus(This);
}
#endif
#endif
#endif
#endif /* __ID3D12ProtectedSession_INTERFACE_DEFINED__ */
typedef enum D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS {
D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_NONE = 0x0,
D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAG_SUPPORTED = 0x1
} D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS);
typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT {
UINT NodeIndex;
D3D12_PROTECTED_RESOURCE_SESSION_SUPPORT_FLAGS Support;
} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_SUPPORT;
/*****************************************************************************
* ID3D12ProtectedResourceSession interface
*/
#ifndef __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
#define __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12ProtectedResourceSession, 0x6cd696f4, 0xf289, 0x40cc, 0x80,0x91, 0x5a,0x6c,0x0a,0x09,0x9c,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6cd696f4-f289-40cc-8091-5a6c0a099c3d")
ID3D12ProtectedResourceSession : public ID3D12ProtectedSession
{
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC* STDMETHODCALLTYPE GetDesc(
D3D12_PROTECTED_RESOURCE_SESSION_DESC *__ret) = 0;
D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc(
)
{
D3D12_PROTECTED_RESOURCE_SESSION_DESC __ret;
return *GetDesc(&__ret);
}
#else
virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC STDMETHODCALLTYPE GetDesc(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12ProtectedResourceSession, 0x6cd696f4, 0xf289, 0x40cc, 0x80,0x91, 0x5a,0x6c,0x0a,0x09,0x9c,0x3d)
#endif
#else
typedef struct ID3D12ProtectedResourceSessionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12ProtectedResourceSession *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12ProtectedResourceSession *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12ProtectedResourceSession *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12ProtectedResourceSession *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12ProtectedResourceSession *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12ProtectedResourceSession *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12ProtectedResourceSession *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12ProtectedResourceSession *This,
REFIID riid,
void **device);
/*** ID3D12ProtectedSession methods ***/
HRESULT (STDMETHODCALLTYPE *GetStatusFence)(
ID3D12ProtectedResourceSession *This,
REFIID riid,
void **fence);
D3D12_PROTECTED_SESSION_STATUS (STDMETHODCALLTYPE *GetSessionStatus)(
ID3D12ProtectedResourceSession *This);
/*** ID3D12ProtectedResourceSession methods ***/
D3D12_PROTECTED_RESOURCE_SESSION_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12ProtectedResourceSession *This,
D3D12_PROTECTED_RESOURCE_SESSION_DESC *__ret);
END_INTERFACE
} ID3D12ProtectedResourceSessionVtbl;
interface ID3D12ProtectedResourceSession {
CONST_VTBL ID3D12ProtectedResourceSessionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12ProtectedResourceSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12ProtectedResourceSession_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12ProtectedResourceSession_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12ProtectedResourceSession_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12ProtectedResourceSession_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12ProtectedResourceSession_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12ProtectedResourceSession_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12ProtectedResourceSession_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12ProtectedSession methods ***/
#define ID3D12ProtectedResourceSession_GetStatusFence(This,riid,fence) (This)->lpVtbl->GetStatusFence(This,riid,fence)
#define ID3D12ProtectedResourceSession_GetSessionStatus(This) (This)->lpVtbl->GetSessionStatus(This)
/*** ID3D12ProtectedResourceSession methods ***/
#define ID3D12ProtectedResourceSession_GetDesc(This) ID3D12ProtectedResourceSession_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_QueryInterface(ID3D12ProtectedResourceSession* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession_AddRef(ID3D12ProtectedResourceSession* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession_Release(ID3D12ProtectedResourceSession* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_GetPrivateData(ID3D12ProtectedResourceSession* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_SetPrivateData(ID3D12ProtectedResourceSession* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_SetPrivateDataInterface(ID3D12ProtectedResourceSession* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_SetName(ID3D12ProtectedResourceSession* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_GetDevice(ID3D12ProtectedResourceSession* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12ProtectedSession methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession_GetStatusFence(ID3D12ProtectedResourceSession* This,REFIID riid,void **fence) {
return This->lpVtbl->GetStatusFence(This,riid,fence);
}
static __WIDL_INLINE D3D12_PROTECTED_SESSION_STATUS ID3D12ProtectedResourceSession_GetSessionStatus(ID3D12ProtectedResourceSession* This) {
return This->lpVtbl->GetSessionStatus(This);
}
/*** ID3D12ProtectedResourceSession methods ***/
static __WIDL_INLINE D3D12_PROTECTED_RESOURCE_SESSION_DESC ID3D12ProtectedResourceSession_GetDesc(ID3D12ProtectedResourceSession* This) {
D3D12_PROTECTED_RESOURCE_SESSION_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12ProtectedResourceSession_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12GraphicsCommandList3 interface
*/
#ifndef __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList3, 0x6fda83a7, 0xb84c, 0x4e38, 0x9a,0xc8, 0xc7,0xbd,0x22,0x01,0x6b,0x3d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6fda83a7-b84c-4e38-9ac8-c7bd22016b3d")
ID3D12GraphicsCommandList3 : public ID3D12GraphicsCommandList2
{
virtual void STDMETHODCALLTYPE SetProtectedResourceSession(
ID3D12ProtectedResourceSession *protected_resource_session) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList3, 0x6fda83a7, 0xb84c, 0x4e38, 0x9a,0xc8, 0xc7,0xbd,0x22,0x01,0x6b,0x3d)
#endif
#else
typedef struct ID3D12GraphicsCommandList3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList3 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList3 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList3 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList3 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList3 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList3 *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList3 *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList3 *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList3 *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList3 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList3 *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList3 *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList3 *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList3 *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList3 *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList3 *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList3 *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList3 *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList3 *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList3 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList3 *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList3 *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList3 *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList3 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList3 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList3 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList3 *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList3 *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList3 *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList3 *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList3 *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList3 *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList3 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList3 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList3 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList3 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList3 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList3 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList3 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList3 *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList3 *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
/*** ID3D12GraphicsCommandList1 methods ***/
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *OMSetDepthBounds)(
ID3D12GraphicsCommandList3 *This,
FLOAT min,
FLOAT max);
void (STDMETHODCALLTYPE *SetSamplePositions)(
ID3D12GraphicsCommandList3 *This,
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions);
void (STDMETHODCALLTYPE *ResolveSubresourceRegion)(
ID3D12GraphicsCommandList3 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode);
void (STDMETHODCALLTYPE *SetViewInstanceMask)(
ID3D12GraphicsCommandList3 *This,
UINT mask);
/*** ID3D12GraphicsCommandList2 methods ***/
void (STDMETHODCALLTYPE *WriteBufferImmediate)(
ID3D12GraphicsCommandList3 *This,
UINT count,
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes);
/*** ID3D12GraphicsCommandList3 methods ***/
void (STDMETHODCALLTYPE *SetProtectedResourceSession)(
ID3D12GraphicsCommandList3 *This,
ID3D12ProtectedResourceSession *protected_resource_session);
END_INTERFACE
} ID3D12GraphicsCommandList3Vtbl;
interface ID3D12GraphicsCommandList3 {
CONST_VTBL ID3D12GraphicsCommandList3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12GraphicsCommandList3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12GraphicsCommandList3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12GraphicsCommandList3_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList3_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList3_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList3_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList3_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList3_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList3_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList3_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList3_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList3_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList3_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList3_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList3_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList3_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList3_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList3_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList3_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList3_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList3_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList3_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList3_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList3_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList3_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList3_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList3_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList3_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList3_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList3_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList3_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList3_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList3_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList3_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList3_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList3_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList3_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList3_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList3_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList3_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList3_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList3_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList3_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList3_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList3_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList3_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
/*** ID3D12GraphicsCommandList1 methods ***/
#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList3_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max)
#define ID3D12GraphicsCommandList3_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions)
#define ID3D12GraphicsCommandList3_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode)
#define ID3D12GraphicsCommandList3_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask)
/*** ID3D12GraphicsCommandList2 methods ***/
#define ID3D12GraphicsCommandList3_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes)
/*** ID3D12GraphicsCommandList3 methods ***/
#define ID3D12GraphicsCommandList3_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_QueryInterface(ID3D12GraphicsCommandList3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList3_AddRef(ID3D12GraphicsCommandList3* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList3_Release(ID3D12GraphicsCommandList3* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_GetPrivateData(ID3D12GraphicsCommandList3* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_SetPrivateData(ID3D12GraphicsCommandList3* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_SetPrivateDataInterface(ID3D12GraphicsCommandList3* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_SetName(ID3D12GraphicsCommandList3* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_GetDevice(ID3D12GraphicsCommandList3* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList3_GetType(ID3D12GraphicsCommandList3* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_Close(ID3D12GraphicsCommandList3* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList3_Reset(ID3D12GraphicsCommandList3* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearState(ID3D12GraphicsCommandList3* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_DrawInstanced(ID3D12GraphicsCommandList3* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_DrawIndexedInstanced(ID3D12GraphicsCommandList3* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_Dispatch(ID3D12GraphicsCommandList3* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyBufferRegion(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyTextureRegion(ID3D12GraphicsCommandList3* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyResource(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_CopyTiles(ID3D12GraphicsCommandList3* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResolveSubresource(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_IASetPrimitiveTopology(ID3D12GraphicsCommandList3* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_RSSetViewports(ID3D12GraphicsCommandList3* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_RSSetScissorRects(ID3D12GraphicsCommandList3* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetBlendFactor(ID3D12GraphicsCommandList3* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetStencilRef(ID3D12GraphicsCommandList3* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetPipelineState(ID3D12GraphicsCommandList3* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResourceBarrier(ID3D12GraphicsCommandList3* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ExecuteBundle(ID3D12GraphicsCommandList3* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetDescriptorHeaps(ID3D12GraphicsCommandList3* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootSignature(ID3D12GraphicsCommandList3* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootSignature(ID3D12GraphicsCommandList3* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList3* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_IASetIndexBuffer(ID3D12GraphicsCommandList3* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_IASetVertexBuffers(ID3D12GraphicsCommandList3* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SOSetTargets(ID3D12GraphicsCommandList3* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetRenderTargets(ID3D12GraphicsCommandList3* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearDepthStencilView(ID3D12GraphicsCommandList3* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearRenderTargetView(ID3D12GraphicsCommandList3* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList3* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList3* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_DiscardResource(ID3D12GraphicsCommandList3* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_BeginQuery(ID3D12GraphicsCommandList3* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_EndQuery(ID3D12GraphicsCommandList3* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResolveQueryData(ID3D12GraphicsCommandList3* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetPredication(ID3D12GraphicsCommandList3* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetMarker(ID3D12GraphicsCommandList3* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_BeginEvent(ID3D12GraphicsCommandList3* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_EndEvent(ID3D12GraphicsCommandList3* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ExecuteIndirect(ID3D12GraphicsCommandList3* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
/*** ID3D12GraphicsCommandList1 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList3_AtomicCopyBufferUINT(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_OMSetDepthBounds(ID3D12GraphicsCommandList3* This,FLOAT min,FLOAT max) {
This->lpVtbl->OMSetDepthBounds(This,min,max);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetSamplePositions(ID3D12GraphicsCommandList3* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) {
This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_ResolveSubresourceRegion(ID3D12GraphicsCommandList3* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) {
This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetViewInstanceMask(ID3D12GraphicsCommandList3* This,UINT mask) {
This->lpVtbl->SetViewInstanceMask(This,mask);
}
/*** ID3D12GraphicsCommandList2 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList3_WriteBufferImmediate(ID3D12GraphicsCommandList3* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) {
This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes);
}
/*** ID3D12GraphicsCommandList3 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList3_SetProtectedResourceSession(ID3D12GraphicsCommandList3* This,ID3D12ProtectedResourceSession *protected_resource_session) {
This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList3_INTERFACE_DEFINED__ */
typedef enum D3D12_TILE_RANGE_FLAGS {
D3D12_TILE_RANGE_FLAG_NONE = 0x0,
D3D12_TILE_RANGE_FLAG_NULL = 0x1,
D3D12_TILE_RANGE_FLAG_SKIP = 0x2,
D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 0x4
} D3D12_TILE_RANGE_FLAGS;
typedef enum D3D12_TILE_MAPPING_FLAGS {
D3D12_TILE_MAPPING_FLAG_NONE = 0x0,
D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1
} D3D12_TILE_MAPPING_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_MAPPING_FLAGS);
/*****************************************************************************
* ID3D12CommandQueue interface
*/
#ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
#define __ID3D12CommandQueue_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12CommandQueue, 0x0ec870a6, 0x5d7e, 0x4c22, 0x8c,0xfc, 0x5b,0xaa,0xe0,0x76,0x16,0xed);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
ID3D12CommandQueue : public ID3D12Pageable
{
virtual void STDMETHODCALLTYPE UpdateTileMappings(
ID3D12Resource *resource,
UINT region_count,
const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates,
const D3D12_TILE_REGION_SIZE *region_sizes,
ID3D12Heap *heap,
UINT range_count,
const D3D12_TILE_RANGE_FLAGS *range_flags,
const UINT *heap_range_offsets,
const UINT *range_tile_counts,
D3D12_TILE_MAPPING_FLAGS flags) = 0;
virtual void STDMETHODCALLTYPE CopyTileMappings(
ID3D12Resource *dst_resource,
const D3D12_TILED_RESOURCE_COORDINATE *dst_region_start_coordinate,
ID3D12Resource *src_resource,
const D3D12_TILED_RESOURCE_COORDINATE *src_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *region_size,
D3D12_TILE_MAPPING_FLAGS flags) = 0;
virtual void STDMETHODCALLTYPE ExecuteCommandLists(
UINT command_list_count,
ID3D12CommandList *const *command_lists) = 0;
virtual void STDMETHODCALLTYPE SetMarker(
UINT metadata,
const void *data,
UINT size) = 0;
virtual void STDMETHODCALLTYPE BeginEvent(
UINT metadata,
const void *data,
UINT size) = 0;
virtual void STDMETHODCALLTYPE EndEvent(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Signal(
ID3D12Fence *fence,
UINT64 value) = 0;
virtual HRESULT STDMETHODCALLTYPE Wait(
ID3D12Fence *fence,
UINT64 value) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
UINT64 *frequency) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
UINT64 *gpu_timestamp,
UINT64 *cpu_timestamp) = 0;
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_COMMAND_QUEUE_DESC* STDMETHODCALLTYPE GetDesc(
D3D12_COMMAND_QUEUE_DESC *__ret) = 0;
D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc(
)
{
D3D12_COMMAND_QUEUE_DESC __ret;
return *GetDesc(&__ret);
}
#else
virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12CommandQueue, 0x0ec870a6, 0x5d7e, 0x4c22, 0x8c,0xfc, 0x5b,0xaa,0xe0,0x76,0x16,0xed)
#endif
#else
typedef struct ID3D12CommandQueueVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12CommandQueue *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12CommandQueue *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12CommandQueue *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12CommandQueue *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12CommandQueue *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12CommandQueue *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12CommandQueue *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12CommandQueue *This,
REFIID riid,
void **device);
/*** ID3D12CommandQueue methods ***/
void (STDMETHODCALLTYPE *UpdateTileMappings)(
ID3D12CommandQueue *This,
ID3D12Resource *resource,
UINT region_count,
const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates,
const D3D12_TILE_REGION_SIZE *region_sizes,
ID3D12Heap *heap,
UINT range_count,
const D3D12_TILE_RANGE_FLAGS *range_flags,
const UINT *heap_range_offsets,
const UINT *range_tile_counts,
D3D12_TILE_MAPPING_FLAGS flags);
void (STDMETHODCALLTYPE *CopyTileMappings)(
ID3D12CommandQueue *This,
ID3D12Resource *dst_resource,
const D3D12_TILED_RESOURCE_COORDINATE *dst_region_start_coordinate,
ID3D12Resource *src_resource,
const D3D12_TILED_RESOURCE_COORDINATE *src_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *region_size,
D3D12_TILE_MAPPING_FLAGS flags);
void (STDMETHODCALLTYPE *ExecuteCommandLists)(
ID3D12CommandQueue *This,
UINT command_list_count,
ID3D12CommandList *const *command_lists);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12CommandQueue *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12CommandQueue *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12CommandQueue *This);
HRESULT (STDMETHODCALLTYPE *Signal)(
ID3D12CommandQueue *This,
ID3D12Fence *fence,
UINT64 value);
HRESULT (STDMETHODCALLTYPE *Wait)(
ID3D12CommandQueue *This,
ID3D12Fence *fence,
UINT64 value);
HRESULT (STDMETHODCALLTYPE *GetTimestampFrequency)(
ID3D12CommandQueue *This,
UINT64 *frequency);
HRESULT (STDMETHODCALLTYPE *GetClockCalibration)(
ID3D12CommandQueue *This,
UINT64 *gpu_timestamp,
UINT64 *cpu_timestamp);
D3D12_COMMAND_QUEUE_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12CommandQueue *This,
D3D12_COMMAND_QUEUE_DESC *__ret);
END_INTERFACE
} ID3D12CommandQueueVtbl;
interface ID3D12CommandQueue {
CONST_VTBL ID3D12CommandQueueVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12CommandQueue_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12CommandQueue_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12CommandQueue_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12CommandQueue_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12CommandQueue_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandQueue methods ***/
#define ID3D12CommandQueue_UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,heap,range_count,range_flags,heap_range_offsets,range_tile_counts,flags) (This)->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,heap,range_count,range_flags,heap_range_offsets,range_tile_counts,flags)
#define ID3D12CommandQueue_CopyTileMappings(This,dst_resource,dst_region_start_coordinate,src_resource,src_region_start_coordinate,region_size,flags) (This)->lpVtbl->CopyTileMappings(This,dst_resource,dst_region_start_coordinate,src_resource,src_region_start_coordinate,region_size,flags)
#define ID3D12CommandQueue_ExecuteCommandLists(This,command_list_count,command_lists) (This)->lpVtbl->ExecuteCommandLists(This,command_list_count,command_lists)
#define ID3D12CommandQueue_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12CommandQueue_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12CommandQueue_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12CommandQueue_Signal(This,fence,value) (This)->lpVtbl->Signal(This,fence,value)
#define ID3D12CommandQueue_Wait(This,fence,value) (This)->lpVtbl->Wait(This,fence,value)
#define ID3D12CommandQueue_GetTimestampFrequency(This,frequency) (This)->lpVtbl->GetTimestampFrequency(This,frequency)
#define ID3D12CommandQueue_GetClockCalibration(This,gpu_timestamp,cpu_timestamp) (This)->lpVtbl->GetClockCalibration(This,gpu_timestamp,cpu_timestamp)
#define ID3D12CommandQueue_GetDesc(This) ID3D12CommandQueue_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandQueue_QueryInterface(ID3D12CommandQueue* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12CommandQueue_AddRef(ID3D12CommandQueue* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12CommandQueue_Release(ID3D12CommandQueue* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetPrivateData(ID3D12CommandQueue* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandQueue_SetPrivateData(ID3D12CommandQueue* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandQueue_SetPrivateDataInterface(ID3D12CommandQueue* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandQueue_SetName(ID3D12CommandQueue* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetDevice(ID3D12CommandQueue* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandQueue methods ***/
static __WIDL_INLINE void ID3D12CommandQueue_UpdateTileMappings(ID3D12CommandQueue* This,ID3D12Resource *resource,UINT region_count,const D3D12_TILED_RESOURCE_COORDINATE *region_start_coordinates,const D3D12_TILE_REGION_SIZE *region_sizes,ID3D12Heap *heap,UINT range_count,const D3D12_TILE_RANGE_FLAGS *range_flags,const UINT *heap_range_offsets,const UINT *range_tile_counts,D3D12_TILE_MAPPING_FLAGS flags) {
This->lpVtbl->UpdateTileMappings(This,resource,region_count,region_start_coordinates,region_sizes,heap,range_count,range_flags,heap_range_offsets,range_tile_counts,flags);
}
static __WIDL_INLINE void ID3D12CommandQueue_CopyTileMappings(ID3D12CommandQueue* This,ID3D12Resource *dst_resource,const D3D12_TILED_RESOURCE_COORDINATE *dst_region_start_coordinate,ID3D12Resource *src_resource,const D3D12_TILED_RESOURCE_COORDINATE *src_region_start_coordinate,const D3D12_TILE_REGION_SIZE *region_size,D3D12_TILE_MAPPING_FLAGS flags) {
This->lpVtbl->CopyTileMappings(This,dst_resource,dst_region_start_coordinate,src_resource,src_region_start_coordinate,region_size,flags);
}
static __WIDL_INLINE void ID3D12CommandQueue_ExecuteCommandLists(ID3D12CommandQueue* This,UINT command_list_count,ID3D12CommandList *const *command_lists) {
This->lpVtbl->ExecuteCommandLists(This,command_list_count,command_lists);
}
static __WIDL_INLINE void ID3D12CommandQueue_SetMarker(ID3D12CommandQueue* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12CommandQueue_BeginEvent(ID3D12CommandQueue* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12CommandQueue_EndEvent(ID3D12CommandQueue* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE HRESULT ID3D12CommandQueue_Signal(ID3D12CommandQueue* This,ID3D12Fence *fence,UINT64 value) {
return This->lpVtbl->Signal(This,fence,value);
}
static __WIDL_INLINE HRESULT ID3D12CommandQueue_Wait(ID3D12CommandQueue* This,ID3D12Fence *fence,UINT64 value) {
return This->lpVtbl->Wait(This,fence,value);
}
static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetTimestampFrequency(ID3D12CommandQueue* This,UINT64 *frequency) {
return This->lpVtbl->GetTimestampFrequency(This,frequency);
}
static __WIDL_INLINE HRESULT ID3D12CommandQueue_GetClockCalibration(ID3D12CommandQueue* This,UINT64 *gpu_timestamp,UINT64 *cpu_timestamp) {
return This->lpVtbl->GetClockCalibration(This,gpu_timestamp,cpu_timestamp);
}
static __WIDL_INLINE D3D12_COMMAND_QUEUE_DESC ID3D12CommandQueue_GetDesc(ID3D12CommandQueue* This) {
D3D12_COMMAND_QUEUE_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
typedef enum D3D12_FENCE_FLAGS {
D3D12_FENCE_FLAG_NONE = 0x0,
D3D12_FENCE_FLAG_SHARED = 0x1,
D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2,
D3D12_FENCE_FLAG_NON_MONITORED = 0x4
} D3D12_FENCE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_FENCE_FLAGS);
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_VIDEO_DECODE_STATISTICS = 4,
D3D12_QUERY_HEAP_TYPE_COPY_QUEUE_TIMESTAMP = 5,
D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS1 = 7
} 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_INDIRECT_ARGUMENT_TYPE {
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0,
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = 1,
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = 2,
D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = 3,
D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = 4,
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = 5,
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = 6,
D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = 7,
D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = 8,
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_RAYS = 9,
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH_MESH = 10
} D3D12_INDIRECT_ARGUMENT_TYPE;
typedef struct D3D12_INDIRECT_ARGUMENT_DESC {
D3D12_INDIRECT_ARGUMENT_TYPE Type;
__C89_NAMELESS 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;
} __C89_NAMELESSUNIONNAME;
} D3D12_INDIRECT_ARGUMENT_DESC;
typedef struct D3D12_COMMAND_SIGNATURE_DESC {
UINT ByteStride;
UINT NumArgumentDescs;
const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs;
UINT NodeMask;
} D3D12_COMMAND_SIGNATURE_DESC;
/*****************************************************************************
* ID3D12RootSignature interface
*/
#ifndef __ID3D12RootSignature_INTERFACE_DEFINED__
#define __ID3D12RootSignature_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12RootSignature, 0xc54a6b66, 0x72df, 0x4ee8, 0x8b,0xe5, 0xa9,0x46,0xa1,0x42,0x92,0x14);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
ID3D12RootSignature : public ID3D12DeviceChild
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12RootSignature, 0xc54a6b66, 0x72df, 0x4ee8, 0x8b,0xe5, 0xa9,0x46,0xa1,0x42,0x92,0x14)
#endif
#else
typedef struct ID3D12RootSignatureVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12RootSignature *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12RootSignature *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12RootSignature *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12RootSignature *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12RootSignature *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12RootSignature *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12RootSignature *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12RootSignature *This,
REFIID riid,
void **device);
END_INTERFACE
} ID3D12RootSignatureVtbl;
interface ID3D12RootSignature {
CONST_VTBL ID3D12RootSignatureVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12RootSignature_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12RootSignature_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12RootSignature_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12RootSignature_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12RootSignature_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12RootSignature_QueryInterface(ID3D12RootSignature* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12RootSignature_AddRef(ID3D12RootSignature* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12RootSignature_Release(ID3D12RootSignature* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12RootSignature_GetPrivateData(ID3D12RootSignature* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12RootSignature_SetPrivateData(ID3D12RootSignature* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12RootSignature_SetPrivateDataInterface(ID3D12RootSignature* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12RootSignature_SetName(ID3D12RootSignature* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12RootSignature_GetDevice(ID3D12RootSignature* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
#endif
#endif
#endif
#endif /* __ID3D12RootSignature_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12PipelineState interface
*/
#ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
#define __ID3D12PipelineState_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12PipelineState, 0x765a30f3, 0xf624, 0x4c6f, 0xa8,0x28, 0xac,0xe9,0x48,0x62,0x24,0x45);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
ID3D12PipelineState : public ID3D12Pageable
{
virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
ID3DBlob **blob) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12PipelineState, 0x765a30f3, 0xf624, 0x4c6f, 0xa8,0x28, 0xac,0xe9,0x48,0x62,0x24,0x45)
#endif
#else
typedef struct ID3D12PipelineStateVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12PipelineState *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12PipelineState *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12PipelineState *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12PipelineState *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12PipelineState *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12PipelineState *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12PipelineState *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12PipelineState *This,
REFIID riid,
void **device);
/*** ID3D12PipelineState methods ***/
HRESULT (STDMETHODCALLTYPE *GetCachedBlob)(
ID3D12PipelineState *This,
ID3DBlob **blob);
END_INTERFACE
} ID3D12PipelineStateVtbl;
interface ID3D12PipelineState {
CONST_VTBL ID3D12PipelineStateVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12PipelineState_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12PipelineState_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12PipelineState_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12PipelineState_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12PipelineState_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12PipelineState methods ***/
#define ID3D12PipelineState_GetCachedBlob(This,blob) (This)->lpVtbl->GetCachedBlob(This,blob)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineState_QueryInterface(ID3D12PipelineState* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12PipelineState_AddRef(ID3D12PipelineState* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12PipelineState_Release(ID3D12PipelineState* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineState_GetPrivateData(ID3D12PipelineState* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineState_SetPrivateData(ID3D12PipelineState* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineState_SetPrivateDataInterface(ID3D12PipelineState* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineState_SetName(ID3D12PipelineState* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineState_GetDevice(ID3D12PipelineState* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12PipelineState methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineState_GetCachedBlob(ID3D12PipelineState* This,ID3DBlob **blob) {
return This->lpVtbl->GetCachedBlob(This,blob);
}
#endif
#endif
#endif
#endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Fence interface
*/
#ifndef __ID3D12Fence_INTERFACE_DEFINED__
#define __ID3D12Fence_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Fence, 0x0a753dcf, 0xc4d8, 0x4b91, 0xad,0xf6, 0xbe,0x5a,0x60,0xd9,0x5a,0x76);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
ID3D12Fence : public ID3D12Pageable
{
virtual UINT64 STDMETHODCALLTYPE GetCompletedValue(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
UINT64 value,
HANDLE event) = 0;
virtual HRESULT STDMETHODCALLTYPE Signal(
UINT64 value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Fence, 0x0a753dcf, 0xc4d8, 0x4b91, 0xad,0xf6, 0xbe,0x5a,0x60,0xd9,0x5a,0x76)
#endif
#else
typedef struct ID3D12FenceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Fence *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Fence *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Fence *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Fence *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Fence *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Fence *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Fence *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Fence *This,
REFIID riid,
void **device);
/*** ID3D12Fence methods ***/
UINT64 (STDMETHODCALLTYPE *GetCompletedValue)(
ID3D12Fence *This);
HRESULT (STDMETHODCALLTYPE *SetEventOnCompletion)(
ID3D12Fence *This,
UINT64 value,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *Signal)(
ID3D12Fence *This,
UINT64 value);
END_INTERFACE
} ID3D12FenceVtbl;
interface ID3D12Fence {
CONST_VTBL ID3D12FenceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12Fence_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Fence_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Fence_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Fence_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Fence_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12Fence methods ***/
#define ID3D12Fence_GetCompletedValue(This) (This)->lpVtbl->GetCompletedValue(This)
#define ID3D12Fence_SetEventOnCompletion(This,value,event) (This)->lpVtbl->SetEventOnCompletion(This,value,event)
#define ID3D12Fence_Signal(This,value) (This)->lpVtbl->Signal(This,value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Fence_QueryInterface(ID3D12Fence* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Fence_AddRef(ID3D12Fence* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Fence_Release(ID3D12Fence* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Fence_GetPrivateData(ID3D12Fence* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Fence_SetPrivateData(ID3D12Fence* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Fence_SetPrivateDataInterface(ID3D12Fence* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Fence_SetName(ID3D12Fence* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Fence_GetDevice(ID3D12Fence* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12Fence methods ***/
static __WIDL_INLINE UINT64 ID3D12Fence_GetCompletedValue(ID3D12Fence* This) {
return This->lpVtbl->GetCompletedValue(This);
}
static __WIDL_INLINE HRESULT ID3D12Fence_SetEventOnCompletion(ID3D12Fence* This,UINT64 value,HANDLE event) {
return This->lpVtbl->SetEventOnCompletion(This,value,event);
}
static __WIDL_INLINE HRESULT ID3D12Fence_Signal(ID3D12Fence* This,UINT64 value) {
return This->lpVtbl->Signal(This,value);
}
#endif
#endif
#endif
#endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Fence1 interface
*/
#ifndef __ID3D12Fence1_INTERFACE_DEFINED__
#define __ID3D12Fence1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Fence1, 0x433685fe, 0xe22b, 0x4ca0, 0xa8,0xdb, 0xb5,0xb4,0xf4,0xdd,0x0e,0x4a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("433685fe-e22b-4ca0-a8db-b5b4f4dd0e4a")
ID3D12Fence1 : public ID3D12Fence
{
virtual D3D12_FENCE_FLAGS STDMETHODCALLTYPE GetCreationFlags(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Fence1, 0x433685fe, 0xe22b, 0x4ca0, 0xa8,0xdb, 0xb5,0xb4,0xf4,0xdd,0x0e,0x4a)
#endif
#else
typedef struct ID3D12Fence1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Fence1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Fence1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Fence1 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Fence1 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Fence1 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Fence1 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Fence1 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Fence1 *This,
REFIID riid,
void **device);
/*** ID3D12Fence methods ***/
UINT64 (STDMETHODCALLTYPE *GetCompletedValue)(
ID3D12Fence1 *This);
HRESULT (STDMETHODCALLTYPE *SetEventOnCompletion)(
ID3D12Fence1 *This,
UINT64 value,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *Signal)(
ID3D12Fence1 *This,
UINT64 value);
/*** ID3D12Fence1 methods ***/
D3D12_FENCE_FLAGS (STDMETHODCALLTYPE *GetCreationFlags)(
ID3D12Fence1 *This);
END_INTERFACE
} ID3D12Fence1Vtbl;
interface ID3D12Fence1 {
CONST_VTBL ID3D12Fence1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Fence1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Fence1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Fence1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Fence1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Fence1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Fence1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Fence1_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Fence1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12Fence methods ***/
#define ID3D12Fence1_GetCompletedValue(This) (This)->lpVtbl->GetCompletedValue(This)
#define ID3D12Fence1_SetEventOnCompletion(This,value,event) (This)->lpVtbl->SetEventOnCompletion(This,value,event)
#define ID3D12Fence1_Signal(This,value) (This)->lpVtbl->Signal(This,value)
/*** ID3D12Fence1 methods ***/
#define ID3D12Fence1_GetCreationFlags(This) (This)->lpVtbl->GetCreationFlags(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Fence1_QueryInterface(ID3D12Fence1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Fence1_AddRef(ID3D12Fence1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Fence1_Release(ID3D12Fence1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Fence1_GetPrivateData(ID3D12Fence1* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Fence1_SetPrivateData(ID3D12Fence1* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Fence1_SetPrivateDataInterface(ID3D12Fence1* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Fence1_SetName(ID3D12Fence1* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Fence1_GetDevice(ID3D12Fence1* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12Fence methods ***/
static __WIDL_INLINE UINT64 ID3D12Fence1_GetCompletedValue(ID3D12Fence1* This) {
return This->lpVtbl->GetCompletedValue(This);
}
static __WIDL_INLINE HRESULT ID3D12Fence1_SetEventOnCompletion(ID3D12Fence1* This,UINT64 value,HANDLE event) {
return This->lpVtbl->SetEventOnCompletion(This,value,event);
}
static __WIDL_INLINE HRESULT ID3D12Fence1_Signal(ID3D12Fence1* This,UINT64 value) {
return This->lpVtbl->Signal(This,value);
}
/*** ID3D12Fence1 methods ***/
static __WIDL_INLINE D3D12_FENCE_FLAGS ID3D12Fence1_GetCreationFlags(ID3D12Fence1* This) {
return This->lpVtbl->GetCreationFlags(This);
}
#endif
#endif
#endif
#endif /* __ID3D12Fence1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12CommandAllocator interface
*/
#ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
#define __ID3D12CommandAllocator_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12CommandAllocator, 0x6102dee4, 0xaf59, 0x4b09, 0xb9,0x99, 0xb4,0x4d,0x73,0xf0,0x9b,0x24);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
ID3D12CommandAllocator : public ID3D12Pageable
{
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12CommandAllocator, 0x6102dee4, 0xaf59, 0x4b09, 0xb9,0x99, 0xb4,0x4d,0x73,0xf0,0x9b,0x24)
#endif
#else
typedef struct ID3D12CommandAllocatorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12CommandAllocator *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12CommandAllocator *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12CommandAllocator *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12CommandAllocator *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12CommandAllocator *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12CommandAllocator *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12CommandAllocator *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12CommandAllocator *This,
REFIID riid,
void **device);
/*** ID3D12CommandAllocator methods ***/
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12CommandAllocator *This);
END_INTERFACE
} ID3D12CommandAllocatorVtbl;
interface ID3D12CommandAllocator {
CONST_VTBL ID3D12CommandAllocatorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12CommandAllocator_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12CommandAllocator_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12CommandAllocator_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12CommandAllocator_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12CommandAllocator_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandAllocator methods ***/
#define ID3D12CommandAllocator_Reset(This) (This)->lpVtbl->Reset(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandAllocator_QueryInterface(ID3D12CommandAllocator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12CommandAllocator_AddRef(ID3D12CommandAllocator* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12CommandAllocator_Release(ID3D12CommandAllocator* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandAllocator_GetPrivateData(ID3D12CommandAllocator* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandAllocator_SetPrivateData(ID3D12CommandAllocator* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandAllocator_SetPrivateDataInterface(ID3D12CommandAllocator* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12CommandAllocator_SetName(ID3D12CommandAllocator* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandAllocator_GetDevice(ID3D12CommandAllocator* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandAllocator methods ***/
static __WIDL_INLINE HRESULT ID3D12CommandAllocator_Reset(ID3D12CommandAllocator* This) {
return This->lpVtbl->Reset(This);
}
#endif
#endif
#endif
#endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Device interface
*/
#ifndef __ID3D12Device_INTERFACE_DEFINED__
#define __ID3D12Device_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device, 0x189819f1, 0x1db6, 0x4b57, 0xbe,0x54, 0x18,0x21,0x33,0x9b,0x85,0xf7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
ID3D12Device : public ID3D12Object
{
virtual UINT STDMETHODCALLTYPE GetNodeCount(
) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list) = 0;
virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap) = 0;
virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature) = 0;
virtual void STDMETHODCALLTYPE CreateConstantBufferView(
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) = 0;
virtual void STDMETHODCALLTYPE CreateShaderResourceView(
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) = 0;
virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) = 0;
virtual void STDMETHODCALLTYPE CreateRenderTargetView(
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) = 0;
virtual void STDMETHODCALLTYPE CreateDepthStencilView(
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) = 0;
virtual void STDMETHODCALLTYPE CreateSampler(
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor) = 0;
virtual void STDMETHODCALLTYPE CopyDescriptors(
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) = 0;
virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) = 0;
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_RESOURCE_ALLOCATION_INFO* STDMETHODCALLTYPE GetResourceAllocationInfo(
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs) = 0;
D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs)
{
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *GetResourceAllocationInfo(&__ret, visible_mask, reource_desc_count, resource_descs);
}
#else
virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs) = 0;
#endif
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_HEAP_PROPERTIES* STDMETHODCALLTYPE GetCustomHeapProperties(
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type) = 0;
D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
UINT node_mask,
D3D12_HEAP_TYPE heap_type)
{
D3D12_HEAP_PROPERTIES __ret;
return *GetCustomHeapProperties(&__ret, node_mask, heap_type);
}
#else
virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
UINT node_mask,
D3D12_HEAP_TYPE heap_type) = 0;
#endif
virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateHeap(
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap) = 0;
virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
HANDLE handle,
REFIID riid,
void **object) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
const WCHAR *name,
DWORD access,
HANDLE *handle) = 0;
virtual HRESULT STDMETHODCALLTYPE MakeResident(
UINT object_count,
ID3D12Pageable *const *objects) = 0;
virtual HRESULT STDMETHODCALLTYPE Evict(
UINT object_count,
ID3D12Pageable *const *objects) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateFence(
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason(
) = 0;
virtual void STDMETHODCALLTYPE GetCopyableFootprints(
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
WINBOOL enable) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature) = 0;
virtual void STDMETHODCALLTYPE GetResourceTiling(
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings) = 0;
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual LUID* STDMETHODCALLTYPE GetAdapterLuid(
LUID *__ret) = 0;
LUID STDMETHODCALLTYPE GetAdapterLuid(
)
{
LUID __ret;
return *GetAdapterLuid(&__ret);
}
#else
virtual LUID STDMETHODCALLTYPE GetAdapterLuid(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device, 0x189819f1, 0x1db6, 0x4b57, 0xbe,0x54, 0x18,0x21,0x33,0x9b,0x85,0xf7)
#endif
#else
typedef struct ID3D12DeviceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device *This,
LUID *__ret);
END_INTERFACE
} ID3D12DeviceVtbl;
interface ID3D12Device {
CONST_VTBL ID3D12DeviceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12Object methods ***/
#define ID3D12Device_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device_GetAdapterLuid(This) ID3D12Device_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device_QueryInterface(ID3D12Device* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device_AddRef(ID3D12Device* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device_Release(ID3D12Device* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device_GetPrivateData(ID3D12Device* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device_SetPrivateData(ID3D12Device* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device_SetPrivateDataInterface(ID3D12Device* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device_SetName(ID3D12Device* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device_GetNodeCount(ID3D12Device* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandQueue(ID3D12Device* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandAllocator(ID3D12Device* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateGraphicsPipelineState(ID3D12Device* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateComputePipelineState(ID3D12Device* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandList(ID3D12Device* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device_CheckFeatureSupport(ID3D12Device* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateDescriptorHeap(ID3D12Device* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device_GetDescriptorHandleIncrementSize(ID3D12Device* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateRootSignature(ID3D12Device* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device_CreateConstantBufferView(ID3D12Device* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device_CreateShaderResourceView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device_CreateUnorderedAccessView(ID3D12Device* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device_CreateRenderTargetView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device_CreateDepthStencilView(ID3D12Device* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device_CreateSampler(ID3D12Device* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device_CopyDescriptors(ID3D12Device* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device_CopyDescriptorsSimple(ID3D12Device* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device_GetResourceAllocationInfo(ID3D12Device* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device_GetCustomHeapProperties(ID3D12Device* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateCommittedResource(ID3D12Device* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateHeap(ID3D12Device* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreatePlacedResource(ID3D12Device* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateReservedResource(ID3D12Device* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateSharedHandle(ID3D12Device* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device_OpenSharedHandle(ID3D12Device* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device_OpenSharedHandleByName(ID3D12Device* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device_MakeResident(ID3D12Device* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device_Evict(ID3D12Device* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateFence(ID3D12Device* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device_GetDeviceRemovedReason(ID3D12Device* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device_GetCopyableFootprints(ID3D12Device* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateQueryHeap(ID3D12Device* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device_SetStablePowerState(ID3D12Device* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device_CreateCommandSignature(ID3D12Device* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device_GetResourceTiling(ID3D12Device* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device_GetAdapterLuid(ID3D12Device* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12Device_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12PipelineLibrary interface
*/
#ifndef __ID3D12PipelineLibrary_INTERFACE_DEFINED__
#define __ID3D12PipelineLibrary_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4,0xcc, 0x53,0xfb,0x9f,0xf7,0x41,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c64226a8-9201-46af-b4cc-53fb9ff7414f")
ID3D12PipelineLibrary : public ID3D12DeviceChild
{
virtual HRESULT STDMETHODCALLTYPE StorePipeline(
const WCHAR *name,
ID3D12PipelineState *pipeline) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadGraphicsPipeline(
const WCHAR *name,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadComputePipeline(
const WCHAR *name,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state) = 0;
virtual SIZE_T STDMETHODCALLTYPE GetSerializedSize(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Serialize(
void *data,
SIZE_T data_size_in_bytes) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4,0xcc, 0x53,0xfb,0x9f,0xf7,0x41,0x4f)
#endif
#else
typedef struct ID3D12PipelineLibraryVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12PipelineLibrary *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12PipelineLibrary *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12PipelineLibrary *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12PipelineLibrary *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12PipelineLibrary *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12PipelineLibrary *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12PipelineLibrary *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12PipelineLibrary *This,
REFIID riid,
void **device);
/*** ID3D12PipelineLibrary methods ***/
HRESULT (STDMETHODCALLTYPE *StorePipeline)(
ID3D12PipelineLibrary *This,
const WCHAR *name,
ID3D12PipelineState *pipeline);
HRESULT (STDMETHODCALLTYPE *LoadGraphicsPipeline)(
ID3D12PipelineLibrary *This,
const WCHAR *name,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *LoadComputePipeline)(
ID3D12PipelineLibrary *This,
const WCHAR *name,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
SIZE_T (STDMETHODCALLTYPE *GetSerializedSize)(
ID3D12PipelineLibrary *This);
HRESULT (STDMETHODCALLTYPE *Serialize)(
ID3D12PipelineLibrary *This,
void *data,
SIZE_T data_size_in_bytes);
END_INTERFACE
} ID3D12PipelineLibraryVtbl;
interface ID3D12PipelineLibrary {
CONST_VTBL ID3D12PipelineLibraryVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12PipelineLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12PipelineLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12PipelineLibrary_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12PipelineLibrary_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12PipelineLibrary_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12PipelineLibrary_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12PipelineLibrary_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12PipelineLibrary_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12PipelineLibrary methods ***/
#define ID3D12PipelineLibrary_StorePipeline(This,name,pipeline) (This)->lpVtbl->StorePipeline(This,name,pipeline)
#define ID3D12PipelineLibrary_LoadGraphicsPipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state)
#define ID3D12PipelineLibrary_LoadComputePipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state)
#define ID3D12PipelineLibrary_GetSerializedSize(This) (This)->lpVtbl->GetSerializedSize(This)
#define ID3D12PipelineLibrary_Serialize(This,data,data_size_in_bytes) (This)->lpVtbl->Serialize(This,data,data_size_in_bytes)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_QueryInterface(ID3D12PipelineLibrary* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12PipelineLibrary_AddRef(ID3D12PipelineLibrary* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12PipelineLibrary_Release(ID3D12PipelineLibrary* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_GetPrivateData(ID3D12PipelineLibrary* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_SetPrivateData(ID3D12PipelineLibrary* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_SetPrivateDataInterface(ID3D12PipelineLibrary* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_SetName(ID3D12PipelineLibrary* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_GetDevice(ID3D12PipelineLibrary* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12PipelineLibrary methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_StorePipeline(ID3D12PipelineLibrary* This,const WCHAR *name,ID3D12PipelineState *pipeline) {
return This->lpVtbl->StorePipeline(This,name,pipeline);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_LoadGraphicsPipeline(ID3D12PipelineLibrary* This,const WCHAR *name,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_LoadComputePipeline(ID3D12PipelineLibrary* This,const WCHAR *name,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state);
}
static __WIDL_INLINE SIZE_T ID3D12PipelineLibrary_GetSerializedSize(ID3D12PipelineLibrary* This) {
return This->lpVtbl->GetSerializedSize(This);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary_Serialize(ID3D12PipelineLibrary* This,void *data,SIZE_T data_size_in_bytes) {
return This->lpVtbl->Serialize(This,data,data_size_in_bytes);
}
#endif
#endif
#endif
#endif /* __ID3D12PipelineLibrary_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12PipelineLibrary1 interface
*/
#ifndef __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
#define __ID3D12PipelineLibrary1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd,0x82, 0xc3,0x7f,0x86,0x96,0x1d,0xc3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("80eabf42-2568-4e5e-bd82-c37f86961dc3")
ID3D12PipelineLibrary1 : public ID3D12PipelineLibrary
{
virtual HRESULT STDMETHODCALLTYPE LoadPipeline(
const WCHAR *name,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd,0x82, 0xc3,0x7f,0x86,0x96,0x1d,0xc3)
#endif
#else
typedef struct ID3D12PipelineLibrary1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12PipelineLibrary1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12PipelineLibrary1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12PipelineLibrary1 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12PipelineLibrary1 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12PipelineLibrary1 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12PipelineLibrary1 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12PipelineLibrary1 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12PipelineLibrary1 *This,
REFIID riid,
void **device);
/*** ID3D12PipelineLibrary methods ***/
HRESULT (STDMETHODCALLTYPE *StorePipeline)(
ID3D12PipelineLibrary1 *This,
const WCHAR *name,
ID3D12PipelineState *pipeline);
HRESULT (STDMETHODCALLTYPE *LoadGraphicsPipeline)(
ID3D12PipelineLibrary1 *This,
const WCHAR *name,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *LoadComputePipeline)(
ID3D12PipelineLibrary1 *This,
const WCHAR *name,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
SIZE_T (STDMETHODCALLTYPE *GetSerializedSize)(
ID3D12PipelineLibrary1 *This);
HRESULT (STDMETHODCALLTYPE *Serialize)(
ID3D12PipelineLibrary1 *This,
void *data,
SIZE_T data_size_in_bytes);
/*** ID3D12PipelineLibrary1 methods ***/
HRESULT (STDMETHODCALLTYPE *LoadPipeline)(
ID3D12PipelineLibrary1 *This,
const WCHAR *name,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
END_INTERFACE
} ID3D12PipelineLibrary1Vtbl;
interface ID3D12PipelineLibrary1 {
CONST_VTBL ID3D12PipelineLibrary1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12PipelineLibrary1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12PipelineLibrary1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12PipelineLibrary1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12PipelineLibrary1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12PipelineLibrary1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12PipelineLibrary1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12PipelineLibrary1_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12PipelineLibrary1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12PipelineLibrary methods ***/
#define ID3D12PipelineLibrary1_StorePipeline(This,name,pipeline) (This)->lpVtbl->StorePipeline(This,name,pipeline)
#define ID3D12PipelineLibrary1_LoadGraphicsPipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state)
#define ID3D12PipelineLibrary1_LoadComputePipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state)
#define ID3D12PipelineLibrary1_GetSerializedSize(This) (This)->lpVtbl->GetSerializedSize(This)
#define ID3D12PipelineLibrary1_Serialize(This,data,data_size_in_bytes) (This)->lpVtbl->Serialize(This,data,data_size_in_bytes)
/*** ID3D12PipelineLibrary1 methods ***/
#define ID3D12PipelineLibrary1_LoadPipeline(This,name,desc,riid,pipeline_state) (This)->lpVtbl->LoadPipeline(This,name,desc,riid,pipeline_state)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_QueryInterface(ID3D12PipelineLibrary1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12PipelineLibrary1_AddRef(ID3D12PipelineLibrary1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12PipelineLibrary1_Release(ID3D12PipelineLibrary1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_GetPrivateData(ID3D12PipelineLibrary1* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_SetPrivateData(ID3D12PipelineLibrary1* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_SetPrivateDataInterface(ID3D12PipelineLibrary1* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_SetName(ID3D12PipelineLibrary1* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_GetDevice(ID3D12PipelineLibrary1* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12PipelineLibrary methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_StorePipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,ID3D12PipelineState *pipeline) {
return This->lpVtbl->StorePipeline(This,name,pipeline);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_LoadGraphicsPipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->LoadGraphicsPipeline(This,name,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_LoadComputePipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->LoadComputePipeline(This,name,desc,riid,pipeline_state);
}
static __WIDL_INLINE SIZE_T ID3D12PipelineLibrary1_GetSerializedSize(ID3D12PipelineLibrary1* This) {
return This->lpVtbl->GetSerializedSize(This);
}
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_Serialize(ID3D12PipelineLibrary1* This,void *data,SIZE_T data_size_in_bytes) {
return This->lpVtbl->Serialize(This,data,data_size_in_bytes);
}
/*** ID3D12PipelineLibrary1 methods ***/
static __WIDL_INLINE HRESULT ID3D12PipelineLibrary1_LoadPipeline(ID3D12PipelineLibrary1* This,const WCHAR *name,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->LoadPipeline(This,name,desc,riid,pipeline_state);
}
#endif
#endif
#endif
#endif /* __ID3D12PipelineLibrary1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Device1 interface
*/
#ifndef __ID3D12Device1_INTERFACE_DEFINED__
#define __ID3D12Device1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device1, 0x77acce80, 0x638e, 0x4e65, 0x88,0x95, 0xc1,0xf2,0x33,0x86,0x86,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("77acce80-638e-4e65-8895-c1f23386863e")
ID3D12Device1 : public ID3D12Device
{
virtual HRESULT STDMETHODCALLTYPE CreatePipelineLibrary(
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib) = 0;
virtual HRESULT STDMETHODCALLTYPE SetEventOnMultipleFenceCompletion(
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event) = 0;
virtual HRESULT STDMETHODCALLTYPE SetResidencyPriority(
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device1, 0x77acce80, 0x638e, 0x4e65, 0x88,0x95, 0xc1,0xf2,0x33,0x86,0x86,0x3e)
#endif
#else
typedef struct ID3D12Device1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device1 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device1 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device1 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device1 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device1 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device1 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device1 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device1 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device1 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device1 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device1 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device1 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device1 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device1 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device1 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device1 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device1 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device1 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device1 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device1 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device1 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device1 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device1 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device1 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device1 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device1 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device1 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device1 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device1 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device1 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device1 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device1 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device1 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device1 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device1 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device1 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device1 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device1 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device1 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device1 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device1 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device1 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device1 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device1 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device1 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
END_INTERFACE
} ID3D12Device1Vtbl;
interface ID3D12Device1 {
CONST_VTBL ID3D12Device1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device1_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device1_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device1_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device1_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device1_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device1_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device1_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device1_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device1_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device1_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device1_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device1_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device1_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device1_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device1_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device1_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device1_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device1_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device1_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device1_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device1_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device1_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device1_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device1_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device1_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device1_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device1_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device1_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device1_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device1_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device1_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device1_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device1_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device1_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device1_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device1_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device1_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device1_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device1_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device1_GetAdapterLuid(This) ID3D12Device1_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device1_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device1_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device1_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device1_QueryInterface(ID3D12Device1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device1_AddRef(ID3D12Device1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device1_Release(ID3D12Device1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device1_GetPrivateData(ID3D12Device1* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device1_SetPrivateData(ID3D12Device1* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device1_SetPrivateDataInterface(ID3D12Device1* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device1_SetName(ID3D12Device1* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device1_GetNodeCount(ID3D12Device1* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandQueue(ID3D12Device1* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandAllocator(ID3D12Device1* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateGraphicsPipelineState(ID3D12Device1* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateComputePipelineState(ID3D12Device1* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandList(ID3D12Device1* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CheckFeatureSupport(ID3D12Device1* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateDescriptorHeap(ID3D12Device1* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device1_GetDescriptorHandleIncrementSize(ID3D12Device1* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateRootSignature(ID3D12Device1* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device1_CreateConstantBufferView(ID3D12Device1* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device1_CreateShaderResourceView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device1_CreateUnorderedAccessView(ID3D12Device1* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device1_CreateRenderTargetView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device1_CreateDepthStencilView(ID3D12Device1* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device1_CreateSampler(ID3D12Device1* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device1_CopyDescriptors(ID3D12Device1* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device1_CopyDescriptorsSimple(ID3D12Device1* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device1_GetResourceAllocationInfo(ID3D12Device1* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device1_GetCustomHeapProperties(ID3D12Device1* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommittedResource(ID3D12Device1* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateHeap(ID3D12Device1* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreatePlacedResource(ID3D12Device1* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateReservedResource(ID3D12Device1* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateSharedHandle(ID3D12Device1* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device1_OpenSharedHandle(ID3D12Device1* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device1_OpenSharedHandleByName(ID3D12Device1* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device1_MakeResident(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device1_Evict(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateFence(ID3D12Device1* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device1_GetDeviceRemovedReason(ID3D12Device1* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device1_GetCopyableFootprints(ID3D12Device1* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateQueryHeap(ID3D12Device1* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device1_SetStablePowerState(ID3D12Device1* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device1_CreateCommandSignature(ID3D12Device1* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device1_GetResourceTiling(ID3D12Device1* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device1_GetAdapterLuid(ID3D12Device1* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device1_CreatePipelineLibrary(ID3D12Device1* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device1_SetEventOnMultipleFenceCompletion(ID3D12Device1* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device1_SetResidencyPriority(ID3D12Device1* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
#endif
#endif
#endif
#endif /* __ID3D12Device1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Device2 interface
*/
#ifndef __ID3D12Device2_INTERFACE_DEFINED__
#define __ID3D12Device2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0,0xbb, 0x1a,0xf5,0xc5,0xb6,0x43,0x28);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("30baa41e-b15b-475c-a0bb-1af5c5b64328")
ID3D12Device2 : public ID3D12Device1
{
virtual HRESULT STDMETHODCALLTYPE CreatePipelineState(
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0,0xbb, 0x1a,0xf5,0xc5,0xb6,0x43,0x28)
#endif
#else
typedef struct ID3D12Device2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device2 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device2 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device2 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device2 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device2 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device2 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device2 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device2 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device2 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device2 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device2 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device2 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device2 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device2 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device2 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device2 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device2 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device2 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device2 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device2 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device2 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device2 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device2 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device2 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device2 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device2 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device2 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device2 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device2 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device2 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device2 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device2 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device2 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device2 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device2 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device2 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device2 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device2 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device2 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device2 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device2 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device2 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device2 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device2 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device2 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device2 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
END_INTERFACE
} ID3D12Device2Vtbl;
interface ID3D12Device2 {
CONST_VTBL ID3D12Device2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device2_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device2_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device2_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device2_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device2_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device2_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device2_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device2_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device2_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device2_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device2_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device2_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device2_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device2_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device2_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device2_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device2_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device2_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device2_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device2_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device2_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device2_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device2_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device2_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device2_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device2_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device2_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device2_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device2_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device2_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device2_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device2_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device2_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device2_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device2_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device2_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device2_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device2_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device2_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device2_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device2_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device2_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device2_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device2_GetAdapterLuid(This) ID3D12Device2_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device2_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device2_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device2_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device2_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device2_QueryInterface(ID3D12Device2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device2_AddRef(ID3D12Device2* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device2_Release(ID3D12Device2* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device2_GetPrivateData(ID3D12Device2* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device2_SetPrivateData(ID3D12Device2* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device2_SetPrivateDataInterface(ID3D12Device2* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device2_SetName(ID3D12Device2* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device2_GetNodeCount(ID3D12Device2* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandQueue(ID3D12Device2* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandAllocator(ID3D12Device2* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateGraphicsPipelineState(ID3D12Device2* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateComputePipelineState(ID3D12Device2* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandList(ID3D12Device2* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CheckFeatureSupport(ID3D12Device2* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateDescriptorHeap(ID3D12Device2* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device2_GetDescriptorHandleIncrementSize(ID3D12Device2* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateRootSignature(ID3D12Device2* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device2_CreateConstantBufferView(ID3D12Device2* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device2_CreateShaderResourceView(ID3D12Device2* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device2_CreateUnorderedAccessView(ID3D12Device2* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device2_CreateRenderTargetView(ID3D12Device2* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device2_CreateDepthStencilView(ID3D12Device2* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device2_CreateSampler(ID3D12Device2* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device2_CopyDescriptors(ID3D12Device2* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device2_CopyDescriptorsSimple(ID3D12Device2* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device2_GetResourceAllocationInfo(ID3D12Device2* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device2_GetCustomHeapProperties(ID3D12Device2* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommittedResource(ID3D12Device2* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateHeap(ID3D12Device2* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreatePlacedResource(ID3D12Device2* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateReservedResource(ID3D12Device2* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateSharedHandle(ID3D12Device2* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device2_OpenSharedHandle(ID3D12Device2* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device2_OpenSharedHandleByName(ID3D12Device2* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device2_MakeResident(ID3D12Device2* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device2_Evict(ID3D12Device2* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateFence(ID3D12Device2* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device2_GetDeviceRemovedReason(ID3D12Device2* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device2_GetCopyableFootprints(ID3D12Device2* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateQueryHeap(ID3D12Device2* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device2_SetStablePowerState(ID3D12Device2* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device2_CreateCommandSignature(ID3D12Device2* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device2_GetResourceTiling(ID3D12Device2* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device2_GetAdapterLuid(ID3D12Device2* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device2_CreatePipelineLibrary(ID3D12Device2* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device2_SetEventOnMultipleFenceCompletion(ID3D12Device2* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device2_SetResidencyPriority(ID3D12Device2* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device2_CreatePipelineState(ID3D12Device2* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
#endif
#endif
#endif
#endif /* __ID3D12Device2_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Device3 interface
*/
#ifndef __ID3D12Device3_INTERFACE_DEFINED__
#define __ID3D12Device3_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device3, 0x81dadc15, 0x2bad, 0x4392, 0x93,0xc5, 0x10,0x13,0x45,0xc4,0xaa,0x98);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("81dadc15-2bad-4392-93c5-101345c4aa98")
ID3D12Device3 : public ID3D12Device2
{
virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromAddress(
const void *address,
REFIID riid,
void **heap) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenExistingHeapFromFileMapping(
HANDLE file_mapping,
REFIID riid,
void **heap) = 0;
virtual HRESULT STDMETHODCALLTYPE EnqueueMakeResident(
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device3, 0x81dadc15, 0x2bad, 0x4392, 0x93,0xc5, 0x10,0x13,0x45,0xc4,0xaa,0x98)
#endif
#else
typedef struct ID3D12Device3Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device3 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device3 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device3 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device3 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device3 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device3 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device3 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device3 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device3 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device3 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device3 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device3 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device3 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device3 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device3 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device3 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device3 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device3 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device3 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device3 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device3 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device3 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device3 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device3 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device3 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device3 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device3 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device3 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device3 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device3 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device3 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device3 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device3 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device3 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device3 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device3 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device3 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device3 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device3 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device3 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device3 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device3 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device3 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device3 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device3 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device3 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device3 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device3 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device3 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device3 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device3 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
END_INTERFACE
} ID3D12Device3Vtbl;
interface ID3D12Device3 {
CONST_VTBL ID3D12Device3Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device3_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device3_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device3_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device3_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device3_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device3_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device3_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device3_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device3_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device3_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device3_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device3_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device3_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device3_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device3_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device3_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device3_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device3_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device3_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device3_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device3_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device3_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device3_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device3_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device3_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device3_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device3_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device3_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device3_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device3_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device3_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device3_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device3_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device3_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device3_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device3_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device3_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device3_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device3_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device3_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device3_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device3_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device3_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device3_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device3_GetAdapterLuid(This) ID3D12Device3_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device3_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device3_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device3_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device3_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device3_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device3_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device3_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device3_QueryInterface(ID3D12Device3* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device3_AddRef(ID3D12Device3* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device3_Release(ID3D12Device3* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device3_GetPrivateData(ID3D12Device3* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device3_SetPrivateData(ID3D12Device3* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device3_SetPrivateDataInterface(ID3D12Device3* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device3_SetName(ID3D12Device3* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device3_GetNodeCount(ID3D12Device3* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandQueue(ID3D12Device3* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandAllocator(ID3D12Device3* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateGraphicsPipelineState(ID3D12Device3* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateComputePipelineState(ID3D12Device3* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandList(ID3D12Device3* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CheckFeatureSupport(ID3D12Device3* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateDescriptorHeap(ID3D12Device3* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device3_GetDescriptorHandleIncrementSize(ID3D12Device3* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateRootSignature(ID3D12Device3* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device3_CreateConstantBufferView(ID3D12Device3* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device3_CreateShaderResourceView(ID3D12Device3* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device3_CreateUnorderedAccessView(ID3D12Device3* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device3_CreateRenderTargetView(ID3D12Device3* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device3_CreateDepthStencilView(ID3D12Device3* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device3_CreateSampler(ID3D12Device3* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device3_CopyDescriptors(ID3D12Device3* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device3_CopyDescriptorsSimple(ID3D12Device3* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device3_GetResourceAllocationInfo(ID3D12Device3* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device3_GetCustomHeapProperties(ID3D12Device3* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommittedResource(ID3D12Device3* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateHeap(ID3D12Device3* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreatePlacedResource(ID3D12Device3* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateReservedResource(ID3D12Device3* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateSharedHandle(ID3D12Device3* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device3_OpenSharedHandle(ID3D12Device3* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device3_OpenSharedHandleByName(ID3D12Device3* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device3_MakeResident(ID3D12Device3* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device3_Evict(ID3D12Device3* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateFence(ID3D12Device3* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device3_GetDeviceRemovedReason(ID3D12Device3* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device3_GetCopyableFootprints(ID3D12Device3* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateQueryHeap(ID3D12Device3* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device3_SetStablePowerState(ID3D12Device3* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device3_CreateCommandSignature(ID3D12Device3* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device3_GetResourceTiling(ID3D12Device3* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device3_GetAdapterLuid(ID3D12Device3* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device3_CreatePipelineLibrary(ID3D12Device3* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device3_SetEventOnMultipleFenceCompletion(ID3D12Device3* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device3_SetResidencyPriority(ID3D12Device3* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device3_CreatePipelineState(ID3D12Device3* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device3_OpenExistingHeapFromAddress(ID3D12Device3* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device3_OpenExistingHeapFromFileMapping(ID3D12Device3* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device3_EnqueueMakeResident(ID3D12Device3* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
#endif
#endif
#endif
#endif /* __ID3D12Device3_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12RootSignatureDeserializer interface
*/
#ifndef __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
#define __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12RootSignatureDeserializer, 0x34ab647b, 0x3cc8, 0x46ac, 0x84,0x1b, 0xc0,0x96,0x56,0x45,0xc0,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("34ab647b-3cc8-46ac-841b-c0965645c046")
ID3D12RootSignatureDeserializer : public IUnknown
{
virtual const D3D12_ROOT_SIGNATURE_DESC * STDMETHODCALLTYPE GetRootSignatureDesc(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12RootSignatureDeserializer, 0x34ab647b, 0x3cc8, 0x46ac, 0x84,0x1b, 0xc0,0x96,0x56,0x45,0xc0,0x46)
#endif
#else
typedef struct ID3D12RootSignatureDeserializerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12RootSignatureDeserializer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12RootSignatureDeserializer *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12RootSignatureDeserializer *This);
/*** ID3D12RootSignatureDeserializer methods ***/
const D3D12_ROOT_SIGNATURE_DESC * (STDMETHODCALLTYPE *GetRootSignatureDesc)(
ID3D12RootSignatureDeserializer *This);
END_INTERFACE
} ID3D12RootSignatureDeserializerVtbl;
interface ID3D12RootSignatureDeserializer {
CONST_VTBL ID3D12RootSignatureDeserializerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#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)
/*** ID3D12RootSignatureDeserializer methods ***/
#define ID3D12RootSignatureDeserializer_GetRootSignatureDesc(This) (This)->lpVtbl->GetRootSignatureDesc(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12RootSignatureDeserializer_QueryInterface(ID3D12RootSignatureDeserializer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12RootSignatureDeserializer_AddRef(ID3D12RootSignatureDeserializer* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12RootSignatureDeserializer_Release(ID3D12RootSignatureDeserializer* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12RootSignatureDeserializer methods ***/
static __WIDL_INLINE const D3D12_ROOT_SIGNATURE_DESC * ID3D12RootSignatureDeserializer_GetRootSignatureDesc(ID3D12RootSignatureDeserializer* This) {
return This->lpVtbl->GetRootSignatureDesc(This);
}
#endif
#endif
#endif
#endif /* __ID3D12RootSignatureDeserializer_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12VersionedRootSignatureDeserializer interface
*/
#ifndef __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
#define __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer, 0x7f91ce67, 0x090c, 0x4bb7, 0xb7,0x8e, 0xed,0x8f,0xf2,0xe3,0x1d,0xa0);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7f91ce67-090c-4bb7-b78e-ed8ff2e31da0")
ID3D12VersionedRootSignatureDeserializer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetRootSignatureDescAtVersion(
D3D_ROOT_SIGNATURE_VERSION version,
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **desc) = 0;
virtual const D3D12_VERSIONED_ROOT_SIGNATURE_DESC * STDMETHODCALLTYPE GetUnconvertedRootSignatureDesc(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12VersionedRootSignatureDeserializer, 0x7f91ce67, 0x090c, 0x4bb7, 0xb7,0x8e, 0xed,0x8f,0xf2,0xe3,0x1d,0xa0)
#endif
#else
typedef struct ID3D12VersionedRootSignatureDeserializerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12VersionedRootSignatureDeserializer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12VersionedRootSignatureDeserializer *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12VersionedRootSignatureDeserializer *This);
/*** ID3D12VersionedRootSignatureDeserializer methods ***/
HRESULT (STDMETHODCALLTYPE *GetRootSignatureDescAtVersion)(
ID3D12VersionedRootSignatureDeserializer *This,
D3D_ROOT_SIGNATURE_VERSION version,
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **desc);
const D3D12_VERSIONED_ROOT_SIGNATURE_DESC * (STDMETHODCALLTYPE *GetUnconvertedRootSignatureDesc)(
ID3D12VersionedRootSignatureDeserializer *This);
END_INTERFACE
} ID3D12VersionedRootSignatureDeserializerVtbl;
interface ID3D12VersionedRootSignatureDeserializer {
CONST_VTBL ID3D12VersionedRootSignatureDeserializerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12VersionedRootSignatureDeserializer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12VersionedRootSignatureDeserializer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12VersionedRootSignatureDeserializer_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12VersionedRootSignatureDeserializer methods ***/
#define ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(This,version,desc) (This)->lpVtbl->GetRootSignatureDescAtVersion(This,version,desc)
#define ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(This) (This)->lpVtbl->GetUnconvertedRootSignatureDesc(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12VersionedRootSignatureDeserializer_QueryInterface(ID3D12VersionedRootSignatureDeserializer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12VersionedRootSignatureDeserializer_AddRef(ID3D12VersionedRootSignatureDeserializer* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12VersionedRootSignatureDeserializer_Release(ID3D12VersionedRootSignatureDeserializer* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12VersionedRootSignatureDeserializer methods ***/
static __WIDL_INLINE HRESULT ID3D12VersionedRootSignatureDeserializer_GetRootSignatureDescAtVersion(ID3D12VersionedRootSignatureDeserializer* This,D3D_ROOT_SIGNATURE_VERSION version,const D3D12_VERSIONED_ROOT_SIGNATURE_DESC **desc) {
return This->lpVtbl->GetRootSignatureDescAtVersion(This,version,desc);
}
static __WIDL_INLINE const D3D12_VERSIONED_ROOT_SIGNATURE_DESC * ID3D12VersionedRootSignatureDeserializer_GetUnconvertedRootSignatureDesc(ID3D12VersionedRootSignatureDeserializer* This) {
return This->lpVtbl->GetUnconvertedRootSignatureDesc(This);
}
#endif
#endif
#endif
#endif /* __ID3D12VersionedRootSignatureDeserializer_INTERFACE_DEFINED__ */
typedef enum D3D12_COMMAND_LIST_FLAGS {
D3D12_COMMAND_LIST_FLAG_NONE = 0x0
} D3D12_COMMAND_LIST_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_LIST_FLAGS);
typedef enum D3D12_COMMAND_POOL_FLAGS {
D3D12_COMMAND_POOL_FLAG_NONE = 0x0
} D3D12_COMMAND_POOL_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_POOL_FLAGS);
typedef enum D3D12_COMMAND_RECORDER_FLAGS {
D3D12_COMMAND_RECORDER_FLAG_NONE = 0x0
} D3D12_COMMAND_RECORDER_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_RECORDER_FLAGS);
/*****************************************************************************
* ID3D12Device4 interface
*/
#ifndef __ID3D12Device4_INTERFACE_DEFINED__
#define __ID3D12Device4_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device4, 0xe865df17, 0xa9ee, 0x46f9, 0xa4,0x63, 0x30,0x98,0x31,0x5a,0xa2,0xe5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e865df17-a9ee-46f9-a463-3098315aa2e5")
ID3D12Device4 : public ID3D12Device3
{
virtual HRESULT STDMETHODCALLTYPE CreateCommandList1(
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession(
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource1(
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateHeap1(
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateReservedResource1(
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource) = 0;
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_RESOURCE_ALLOCATION_INFO* STDMETHODCALLTYPE GetResourceAllocationInfo1(
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0;
D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1(
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1)
{
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *GetResourceAllocationInfo1(&__ret, visible_mask, resource_descs_count, resource_descs, resource_allocation_info1);
}
#else
virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo1(
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device4, 0xe865df17, 0xa9ee, 0x46f9, 0xa4,0x63, 0x30,0x98,0x31,0x5a,0xa2,0xe5)
#endif
#else
typedef struct ID3D12Device4Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device4 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device4 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device4 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device4 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device4 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device4 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device4 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device4 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device4 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device4 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device4 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device4 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device4 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device4 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device4 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device4 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device4 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device4 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device4 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device4 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device4 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device4 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device4 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device4 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device4 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device4 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device4 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device4 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device4 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device4 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device4 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device4 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device4 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device4 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device4 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device4 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device4 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device4 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device4 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device4 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device4 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device4 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device4 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device4 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device4 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device4 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device4 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device4 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device4 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device4 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device4 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
/*** ID3D12Device4 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommandList1)(
ID3D12Device4 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)(
ID3D12Device4 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)(
ID3D12Device4 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap1)(
ID3D12Device4 *This,
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)(
ID3D12Device4 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)(
ID3D12Device4 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
END_INTERFACE
} ID3D12Device4Vtbl;
interface ID3D12Device4 {
CONST_VTBL ID3D12Device4Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device4_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device4_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device4_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device4_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device4_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device4_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device4_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device4_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device4_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device4_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device4_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device4_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device4_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device4_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device4_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device4_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device4_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device4_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device4_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device4_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device4_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device4_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device4_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device4_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device4_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device4_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device4_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device4_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device4_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device4_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device4_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device4_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device4_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device4_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device4_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device4_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device4_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device4_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device4_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device4_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device4_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device4_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device4_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device4_GetAdapterLuid(This) ID3D12Device4_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device4_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device4_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device4_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device4_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device4_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device4_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device4_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
/*** ID3D12Device4 methods ***/
#define ID3D12Device4_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list)
#define ID3D12Device4_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session)
#define ID3D12Device4_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device4_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap)
#define ID3D12Device4_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource)
#define ID3D12Device4_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device4_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device4_QueryInterface(ID3D12Device4* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device4_AddRef(ID3D12Device4* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device4_Release(ID3D12Device4* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device4_GetPrivateData(ID3D12Device4* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device4_SetPrivateData(ID3D12Device4* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device4_SetPrivateDataInterface(ID3D12Device4* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device4_SetName(ID3D12Device4* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device4_GetNodeCount(ID3D12Device4* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandQueue(ID3D12Device4* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandAllocator(ID3D12Device4* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateGraphicsPipelineState(ID3D12Device4* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateComputePipelineState(ID3D12Device4* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandList(ID3D12Device4* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CheckFeatureSupport(ID3D12Device4* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateDescriptorHeap(ID3D12Device4* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device4_GetDescriptorHandleIncrementSize(ID3D12Device4* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateRootSignature(ID3D12Device4* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device4_CreateConstantBufferView(ID3D12Device4* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device4_CreateShaderResourceView(ID3D12Device4* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device4_CreateUnorderedAccessView(ID3D12Device4* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device4_CreateRenderTargetView(ID3D12Device4* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device4_CreateDepthStencilView(ID3D12Device4* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device4_CreateSampler(ID3D12Device4* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device4_CopyDescriptors(ID3D12Device4* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device4_CopyDescriptorsSimple(ID3D12Device4* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device4_GetResourceAllocationInfo(ID3D12Device4* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device4_GetCustomHeapProperties(ID3D12Device4* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommittedResource(ID3D12Device4* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateHeap(ID3D12Device4* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreatePlacedResource(ID3D12Device4* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateReservedResource(ID3D12Device4* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateSharedHandle(ID3D12Device4* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device4_OpenSharedHandle(ID3D12Device4* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device4_OpenSharedHandleByName(ID3D12Device4* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device4_MakeResident(ID3D12Device4* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device4_Evict(ID3D12Device4* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateFence(ID3D12Device4* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device4_GetDeviceRemovedReason(ID3D12Device4* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device4_GetCopyableFootprints(ID3D12Device4* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateQueryHeap(ID3D12Device4* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device4_SetStablePowerState(ID3D12Device4* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandSignature(ID3D12Device4* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device4_GetResourceTiling(ID3D12Device4* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device4_GetAdapterLuid(ID3D12Device4* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device4_CreatePipelineLibrary(ID3D12Device4* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device4_SetEventOnMultipleFenceCompletion(ID3D12Device4* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device4_SetResidencyPriority(ID3D12Device4* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device4_CreatePipelineState(ID3D12Device4* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device4_OpenExistingHeapFromAddress(ID3D12Device4* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device4_OpenExistingHeapFromFileMapping(ID3D12Device4* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device4_EnqueueMakeResident(ID3D12Device4* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
/*** ID3D12Device4 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommandList1(ID3D12Device4* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateProtectedResourceSession(ID3D12Device4* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateCommittedResource1(ID3D12Device4* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateHeap1(ID3D12Device4* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device4_CreateReservedResource1(ID3D12Device4* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device4_GetResourceAllocationInfo1(ID3D12Device4* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
#endif
#endif
#endif
#endif /* __ID3D12Device4_INTERFACE_DEFINED__ */
typedef enum D3D12_LIFETIME_STATE {
D3D12_LIFETIME_STATE_IN_USE = 0x0,
D3D12_LIFETIME_STATE_NOT_IN_USE = 0x1
} D3D12_LIFETIME_STATE;
/*****************************************************************************
* ID3D12LifetimeOwner interface
*/
#ifndef __ID3D12LifetimeOwner_INTERFACE_DEFINED__
#define __ID3D12LifetimeOwner_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12LifetimeOwner, 0xe667af9f, 0xcd56, 0x4f46, 0x83,0xce, 0x03,0x2e,0x59,0x5d,0x70,0xa8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e667af9f-cd56-4f46-83ce-032e595d70a8")
ID3D12LifetimeOwner : public IUnknown
{
virtual void STDMETHODCALLTYPE LifetimeStateUpdated(
D3D12_LIFETIME_STATE NewState) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12LifetimeOwner, 0xe667af9f, 0xcd56, 0x4f46, 0x83,0xce, 0x03,0x2e,0x59,0x5d,0x70,0xa8)
#endif
#else
typedef struct ID3D12LifetimeOwnerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12LifetimeOwner *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12LifetimeOwner *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12LifetimeOwner *This);
/*** ID3D12LifetimeOwner methods ***/
void (STDMETHODCALLTYPE *LifetimeStateUpdated)(
ID3D12LifetimeOwner *This,
D3D12_LIFETIME_STATE NewState);
END_INTERFACE
} ID3D12LifetimeOwnerVtbl;
interface ID3D12LifetimeOwner {
CONST_VTBL ID3D12LifetimeOwnerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12LifetimeOwner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12LifetimeOwner_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12LifetimeOwner_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12LifetimeOwner methods ***/
#define ID3D12LifetimeOwner_LifetimeStateUpdated(This,NewState) (This)->lpVtbl->LifetimeStateUpdated(This,NewState)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12LifetimeOwner_QueryInterface(ID3D12LifetimeOwner* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12LifetimeOwner_AddRef(ID3D12LifetimeOwner* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12LifetimeOwner_Release(ID3D12LifetimeOwner* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12LifetimeOwner methods ***/
static __WIDL_INLINE void ID3D12LifetimeOwner_LifetimeStateUpdated(ID3D12LifetimeOwner* This,D3D12_LIFETIME_STATE NewState) {
This->lpVtbl->LifetimeStateUpdated(This,NewState);
}
#endif
#endif
#endif
#endif /* __ID3D12LifetimeOwner_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12SwapChainAssistant interface
*/
#ifndef __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
#define __ID3D12SwapChainAssistant_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12SwapChainAssistant, 0xf1df64b6, 0x57fd, 0x49cd, 0x88,0x07, 0xc0,0xeb,0x88,0xb4,0x5c,0x8f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("f1df64b6-57fd-49cd-8807-c0eb88b45c8f")
ID3D12SwapChainAssistant : public IUnknown
{
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual LUID* STDMETHODCALLTYPE GetLUID(
LUID *__ret) = 0;
LUID STDMETHODCALLTYPE GetLUID(
)
{
LUID __ret;
return *GetLUID(&__ret);
}
#else
virtual LUID STDMETHODCALLTYPE GetLUID(
) = 0;
#endif
virtual HRESULT STDMETHODCALLTYPE GetSwapChainObject(
REFIID riid,
void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentResourceAndCommandQueue(
REFIID riid_resource,
void **resource,
REFIID riid_queue,
void **queue) = 0;
virtual HRESULT STDMETHODCALLTYPE InsertImplicitSync(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12SwapChainAssistant, 0xf1df64b6, 0x57fd, 0x49cd, 0x88,0x07, 0xc0,0xeb,0x88,0xb4,0x5c,0x8f)
#endif
#else
typedef struct ID3D12SwapChainAssistantVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12SwapChainAssistant *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12SwapChainAssistant *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12SwapChainAssistant *This);
/*** ID3D12SwapChainAssistant methods ***/
LUID * (STDMETHODCALLTYPE *GetLUID)(
ID3D12SwapChainAssistant *This,
LUID *__ret);
HRESULT (STDMETHODCALLTYPE *GetSwapChainObject)(
ID3D12SwapChainAssistant *This,
REFIID riid,
void **ppv);
HRESULT (STDMETHODCALLTYPE *GetCurrentResourceAndCommandQueue)(
ID3D12SwapChainAssistant *This,
REFIID riid_resource,
void **resource,
REFIID riid_queue,
void **queue);
HRESULT (STDMETHODCALLTYPE *InsertImplicitSync)(
ID3D12SwapChainAssistant *This);
END_INTERFACE
} ID3D12SwapChainAssistantVtbl;
interface ID3D12SwapChainAssistant {
CONST_VTBL ID3D12SwapChainAssistantVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12SwapChainAssistant_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12SwapChainAssistant_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12SwapChainAssistant_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12SwapChainAssistant methods ***/
#define ID3D12SwapChainAssistant_GetLUID(This) ID3D12SwapChainAssistant_GetLUID_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12SwapChainAssistant_GetSwapChainObject(This,riid,ppv) (This)->lpVtbl->GetSwapChainObject(This,riid,ppv)
#define ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(This,riid_resource,resource,riid_queue,queue) (This)->lpVtbl->GetCurrentResourceAndCommandQueue(This,riid_resource,resource,riid_queue,queue)
#define ID3D12SwapChainAssistant_InsertImplicitSync(This) (This)->lpVtbl->InsertImplicitSync(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_QueryInterface(ID3D12SwapChainAssistant* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12SwapChainAssistant_AddRef(ID3D12SwapChainAssistant* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12SwapChainAssistant_Release(ID3D12SwapChainAssistant* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12SwapChainAssistant methods ***/
static __WIDL_INLINE LUID ID3D12SwapChainAssistant_GetLUID(ID3D12SwapChainAssistant* This) {
LUID __ret;
return *This->lpVtbl->GetLUID(This,&__ret);
}
static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_GetSwapChainObject(ID3D12SwapChainAssistant* This,REFIID riid,void **ppv) {
return This->lpVtbl->GetSwapChainObject(This,riid,ppv);
}
static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_GetCurrentResourceAndCommandQueue(ID3D12SwapChainAssistant* This,REFIID riid_resource,void **resource,REFIID riid_queue,void **queue) {
return This->lpVtbl->GetCurrentResourceAndCommandQueue(This,riid_resource,resource,riid_queue,queue);
}
static __WIDL_INLINE HRESULT ID3D12SwapChainAssistant_InsertImplicitSync(ID3D12SwapChainAssistant* This) {
return This->lpVtbl->InsertImplicitSync(This);
}
#endif
#endif
#endif
#endif /* __ID3D12SwapChainAssistant_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12LifetimeTracker interface
*/
#ifndef __ID3D12LifetimeTracker_INTERFACE_DEFINED__
#define __ID3D12LifetimeTracker_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12LifetimeTracker, 0x3fd03d36, 0x4eb1, 0x424a, 0xa5,0x82, 0x49,0x4e,0xcb,0x8b,0xa8,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3fd03d36-4eb1-424a-a582-494ecb8ba813")
ID3D12LifetimeTracker : public ID3D12DeviceChild
{
virtual HRESULT STDMETHODCALLTYPE DestroyOwnedObject(
ID3D12DeviceChild *object) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12LifetimeTracker, 0x3fd03d36, 0x4eb1, 0x424a, 0xa5,0x82, 0x49,0x4e,0xcb,0x8b,0xa8,0x13)
#endif
#else
typedef struct ID3D12LifetimeTrackerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12LifetimeTracker *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12LifetimeTracker *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12LifetimeTracker *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12LifetimeTracker *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12LifetimeTracker *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12LifetimeTracker *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12LifetimeTracker *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12LifetimeTracker *This,
REFIID riid,
void **device);
/*** ID3D12LifetimeTracker methods ***/
HRESULT (STDMETHODCALLTYPE *DestroyOwnedObject)(
ID3D12LifetimeTracker *This,
ID3D12DeviceChild *object);
END_INTERFACE
} ID3D12LifetimeTrackerVtbl;
interface ID3D12LifetimeTracker {
CONST_VTBL ID3D12LifetimeTrackerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12LifetimeTracker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12LifetimeTracker_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12LifetimeTracker_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12LifetimeTracker_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12LifetimeTracker_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12LifetimeTracker_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12LifetimeTracker_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12LifetimeTracker_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12LifetimeTracker methods ***/
#define ID3D12LifetimeTracker_DestroyOwnedObject(This,object) (This)->lpVtbl->DestroyOwnedObject(This,object)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_QueryInterface(ID3D12LifetimeTracker* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12LifetimeTracker_AddRef(ID3D12LifetimeTracker* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12LifetimeTracker_Release(ID3D12LifetimeTracker* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_GetPrivateData(ID3D12LifetimeTracker* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_SetPrivateData(ID3D12LifetimeTracker* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_SetPrivateDataInterface(ID3D12LifetimeTracker* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_SetName(ID3D12LifetimeTracker* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_GetDevice(ID3D12LifetimeTracker* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12LifetimeTracker methods ***/
static __WIDL_INLINE HRESULT ID3D12LifetimeTracker_DestroyOwnedObject(ID3D12LifetimeTracker* This,ID3D12DeviceChild *object) {
return This->lpVtbl->DestroyOwnedObject(This,object);
}
#endif
#endif
#endif
#endif /* __ID3D12LifetimeTracker_INTERFACE_DEFINED__ */
typedef enum D3D12_META_COMMAND_PARAMETER_TYPE {
D3D12_META_COMMAND_PARAMETER_TYPE_FLOAT = 0x0,
D3D12_META_COMMAND_PARAMETER_TYPE_UINT64 = 0x1,
D3D12_META_COMMAND_PARAMETER_TYPE_GPU_VIRTUAL_ADDRESS = 0x2,
D3D12_META_COMMAND_PARAMETER_TYPE_CPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 0x3,
D3D12_META_COMMAND_PARAMETER_TYPE_GPU_DESCRIPTOR_HANDLE_HEAP_TYPE_CBV_SRV_UAV = 0x4
} D3D12_META_COMMAND_PARAMETER_TYPE;
typedef enum D3D12_META_COMMAND_PARAMETER_FLAGS {
D3D12_META_COMMAND_PARAMETER_FLAG_INPUT = 0x1,
D3D12_META_COMMAND_PARAMETER_FLAG_OUTPUT = 0x2
} D3D12_META_COMMAND_PARAMETER_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_META_COMMAND_PARAMETER_FLAGS);
typedef enum D3D12_META_COMMAND_PARAMETER_STAGE {
D3D12_META_COMMAND_PARAMETER_STAGE_CREATION = 0x0,
D3D12_META_COMMAND_PARAMETER_STAGE_INITIALIZATION = 0x1,
D3D12_META_COMMAND_PARAMETER_STAGE_EXECUTION = 0x2
} D3D12_META_COMMAND_PARAMETER_STAGE;
typedef struct D3D12_META_COMMAND_PARAMETER_DESC {
const WCHAR *Name;
D3D12_META_COMMAND_PARAMETER_TYPE Type;
D3D12_META_COMMAND_PARAMETER_FLAGS Flags;
D3D12_RESOURCE_STATES RequiredResourceState;
UINT StructureOffset;
} D3D12_META_COMMAND_PARAMETER_DESC;
typedef enum D3D12_GRAPHICS_STATES {
D3D12_GRAPHICS_STATE_NONE = 0x0,
D3D12_GRAPHICS_STATE_IA_VERTEX_BUFFERS = 0x1,
D3D12_GRAPHICS_STATE_IA_INDEX_BUFFER = 0x2,
D3D12_GRAPHICS_STATE_IA_PRIMITIVE_TOPOLOGY = 0x4,
D3D12_GRAPHICS_STATE_DESCRIPTOR_HEAP = 0x8,
D3D12_GRAPHICS_STATE_GRAPHICS_ROOT_SIGNATURE = 0x10,
D3D12_GRAPHICS_STATE_COMPUTE_ROOT_SIGNATURE = 0x20,
D3D12_GRAPHICS_STATE_RS_VIEWPORTS = 0x40,
D3D12_GRAPHICS_STATE_RS_SCISSOR_RECTS = 0x80,
D3D12_GRAPHICS_STATE_PREDICATION = 0x100,
D3D12_GRAPHICS_STATE_OM_RENDER_TARGETS = 0x200,
D3D12_GRAPHICS_STATE_OM_STENCIL_REF = 0x400,
D3D12_GRAPHICS_STATE_OM_BLEND_FACTOR = 0x800,
D3D12_GRAPHICS_STATE_PIPELINE_STATE = 0x1000,
D3D12_GRAPHICS_STATE_SO_TARGETS = 0x2000,
D3D12_GRAPHICS_STATE_OM_DEPTH_BOUNDS = 0x4000,
D3D12_GRAPHICS_STATE_SAMPLE_POSITIONS = 0x8000,
D3D12_GRAPHICS_STATE_VIEW_INSTANCE_MASK = 0x10000
} D3D12_GRAPHICS_STATES;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_GRAPHICS_STATES);
typedef struct D3D12_META_COMMAND_DESC {
GUID Id;
const WCHAR *Name;
D3D12_GRAPHICS_STATES InitializationDirtyState;
D3D12_GRAPHICS_STATES ExecutionDirtyState;
} D3D12_META_COMMAND_DESC;
/*****************************************************************************
* ID3D12StateObject interface
*/
#ifndef __ID3D12StateObject_INTERFACE_DEFINED__
#define __ID3D12StateObject_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12StateObject, 0x47016943, 0xfca8, 0x4594, 0x93,0xea, 0xaf,0x25,0x8b,0x55,0x34,0x6d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("47016943-fca8-4594-93ea-af258b55346d")
ID3D12StateObject : public ID3D12Pageable
{
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12StateObject, 0x47016943, 0xfca8, 0x4594, 0x93,0xea, 0xaf,0x25,0x8b,0x55,0x34,0x6d)
#endif
#else
typedef struct ID3D12StateObjectVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12StateObject *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12StateObject *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12StateObject *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12StateObject *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12StateObject *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12StateObject *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12StateObject *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12StateObject *This,
REFIID riid,
void **device);
END_INTERFACE
} ID3D12StateObjectVtbl;
interface ID3D12StateObject {
CONST_VTBL ID3D12StateObjectVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12StateObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12StateObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12StateObject_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12StateObject_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12StateObject_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12StateObject_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12StateObject_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12StateObject_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12StateObject_QueryInterface(ID3D12StateObject* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12StateObject_AddRef(ID3D12StateObject* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12StateObject_Release(ID3D12StateObject* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12StateObject_GetPrivateData(ID3D12StateObject* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12StateObject_SetPrivateData(ID3D12StateObject* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12StateObject_SetPrivateDataInterface(ID3D12StateObject* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12StateObject_SetName(ID3D12StateObject* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12StateObject_GetDevice(ID3D12StateObject* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
#endif
#endif
#endif
#endif /* __ID3D12StateObject_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12StateObjectProperties interface
*/
#ifndef __ID3D12StateObjectProperties_INTERFACE_DEFINED__
#define __ID3D12StateObjectProperties_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12StateObjectProperties, 0xde5fa827, 0x9bf9, 0x4f26, 0x89,0xff, 0xd7,0xf5,0x6f,0xde,0x38,0x60);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("de5fa827-9bf9-4f26-89ff-d7f56fde3860")
ID3D12StateObjectProperties : public IUnknown
{
virtual void * STDMETHODCALLTYPE GetShaderIdentifier(
const WCHAR *export_name) = 0;
virtual UINT64 STDMETHODCALLTYPE GetShaderStackSize(
const WCHAR *export_name) = 0;
virtual UINT64 STDMETHODCALLTYPE GetPipelineStackSize(
) = 0;
virtual void STDMETHODCALLTYPE SetPipelineStackSize(
UINT64 pipeline_stack_size_in_bytes) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12StateObjectProperties, 0xde5fa827, 0x9bf9, 0x4f26, 0x89,0xff, 0xd7,0xf5,0x6f,0xde,0x38,0x60)
#endif
#else
typedef struct ID3D12StateObjectPropertiesVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12StateObjectProperties *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12StateObjectProperties *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12StateObjectProperties *This);
/*** ID3D12StateObjectProperties methods ***/
void * (STDMETHODCALLTYPE *GetShaderIdentifier)(
ID3D12StateObjectProperties *This,
const WCHAR *export_name);
UINT64 (STDMETHODCALLTYPE *GetShaderStackSize)(
ID3D12StateObjectProperties *This,
const WCHAR *export_name);
UINT64 (STDMETHODCALLTYPE *GetPipelineStackSize)(
ID3D12StateObjectProperties *This);
void (STDMETHODCALLTYPE *SetPipelineStackSize)(
ID3D12StateObjectProperties *This,
UINT64 pipeline_stack_size_in_bytes);
END_INTERFACE
} ID3D12StateObjectPropertiesVtbl;
interface ID3D12StateObjectProperties {
CONST_VTBL ID3D12StateObjectPropertiesVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12StateObjectProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12StateObjectProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12StateObjectProperties_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12StateObjectProperties methods ***/
#define ID3D12StateObjectProperties_GetShaderIdentifier(This,export_name) (This)->lpVtbl->GetShaderIdentifier(This,export_name)
#define ID3D12StateObjectProperties_GetShaderStackSize(This,export_name) (This)->lpVtbl->GetShaderStackSize(This,export_name)
#define ID3D12StateObjectProperties_GetPipelineStackSize(This) (This)->lpVtbl->GetPipelineStackSize(This)
#define ID3D12StateObjectProperties_SetPipelineStackSize(This,pipeline_stack_size_in_bytes) (This)->lpVtbl->SetPipelineStackSize(This,pipeline_stack_size_in_bytes)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12StateObjectProperties_QueryInterface(ID3D12StateObjectProperties* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12StateObjectProperties_AddRef(ID3D12StateObjectProperties* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12StateObjectProperties_Release(ID3D12StateObjectProperties* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12StateObjectProperties methods ***/
static __WIDL_INLINE void * ID3D12StateObjectProperties_GetShaderIdentifier(ID3D12StateObjectProperties* This,const WCHAR *export_name) {
return This->lpVtbl->GetShaderIdentifier(This,export_name);
}
static __WIDL_INLINE UINT64 ID3D12StateObjectProperties_GetShaderStackSize(ID3D12StateObjectProperties* This,const WCHAR *export_name) {
return This->lpVtbl->GetShaderStackSize(This,export_name);
}
static __WIDL_INLINE UINT64 ID3D12StateObjectProperties_GetPipelineStackSize(ID3D12StateObjectProperties* This) {
return This->lpVtbl->GetPipelineStackSize(This);
}
static __WIDL_INLINE void ID3D12StateObjectProperties_SetPipelineStackSize(ID3D12StateObjectProperties* This,UINT64 pipeline_stack_size_in_bytes) {
This->lpVtbl->SetPipelineStackSize(This,pipeline_stack_size_in_bytes);
}
#endif
#endif
#endif
#endif /* __ID3D12StateObjectProperties_INTERFACE_DEFINED__ */
typedef enum D3D12_STATE_SUBOBJECT_TYPE {
D3D12_STATE_SUBOBJECT_TYPE_STATE_OBJECT_CONFIG = 0x0,
D3D12_STATE_SUBOBJECT_TYPE_GLOBAL_ROOT_SIGNATURE = 0x1,
D3D12_STATE_SUBOBJECT_TYPE_LOCAL_ROOT_SIGNATURE = 0x2,
D3D12_STATE_SUBOBJECT_TYPE_NODE_MASK = 0x3,
D3D12_STATE_SUBOBJECT_TYPE_DXIL_LIBRARY = 0x5,
D3D12_STATE_SUBOBJECT_TYPE_EXISTING_COLLECTION = 0x6,
D3D12_STATE_SUBOBJECT_TYPE_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 0x7,
D3D12_STATE_SUBOBJECT_TYPE_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION = 0x8,
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_SHADER_CONFIG = 0x9,
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG = 0xa,
D3D12_STATE_SUBOBJECT_TYPE_HIT_GROUP = 0xb,
D3D12_STATE_SUBOBJECT_TYPE_RAYTRACING_PIPELINE_CONFIG1 = 0xc,
D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID = 0xd
} D3D12_STATE_SUBOBJECT_TYPE;
typedef struct D3D12_STATE_SUBOBJECT {
D3D12_STATE_SUBOBJECT_TYPE Type;
const void *pDesc;
} D3D12_STATE_SUBOBJECT;
typedef enum D3D12_STATE_OBJECT_FLAGS {
D3D12_STATE_OBJECT_FLAG_NONE = 0x0,
D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS = 0x1,
D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS = 0x2,
D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS = 0x4
} D3D12_STATE_OBJECT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_STATE_OBJECT_FLAGS);
typedef struct D3D12_STATE_OBJECT_CONFIG {
D3D12_STATE_OBJECT_FLAGS Flags;
} D3D12_STATE_OBJECT_CONFIG;
typedef struct D3D12_GLOBAL_ROOT_SIGNATURE {
ID3D12RootSignature *pGlobalRootSignature;
} D3D12_GLOBAL_ROOT_SIGNATURE;
typedef struct D3D12_LOCAL_ROOT_SIGNATURE {
ID3D12RootSignature *pLocalRootSignature;
} D3D12_LOCAL_ROOT_SIGNATURE;
typedef struct D3D12_NODE_MASK {
UINT NodeMask;
} D3D12_NODE_MASK;
typedef enum D3D12_EXPORT_FLAGS {
D3D12_EXPORT_FLAG_NONE = 0x0
} D3D12_EXPORT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_EXPORT_FLAGS);
typedef struct D3D12_EXPORT_DESC {
const WCHAR *Name;
const WCHAR *ExportToRename;
D3D12_EXPORT_FLAGS Flags;
} D3D12_EXPORT_DESC;
typedef struct D3D12_DXIL_LIBRARY_DESC {
D3D12_SHADER_BYTECODE DXILLibrary;
UINT NumExports;
D3D12_EXPORT_DESC *pExports;
} D3D12_DXIL_LIBRARY_DESC;
typedef struct D3D12_EXISTING_COLLECTION_DESC {
ID3D12StateObject *pExistingCollection;
UINT NumExports;
D3D12_EXPORT_DESC *pExports;
} D3D12_EXISTING_COLLECTION_DESC;
typedef struct D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
const D3D12_STATE_SUBOBJECT *pSubobjectToAssociate;
UINT NumExports;
const WCHAR **pExports;
} D3D12_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
typedef struct D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION {
const WCHAR *SubobjectToAssociate;
UINT NumExports;
const WCHAR **pExports;
} D3D12_DXIL_SUBOBJECT_TO_EXPORTS_ASSOCIATION;
typedef enum D3D12_HIT_GROUP_TYPE {
D3D12_HIT_GROUP_TYPE_TRIANGLES = 0x0,
D3D12_HIT_GROUP_TYPE_PROCEDURAL_PRIMITIVE = 0x1
} D3D12_HIT_GROUP_TYPE;
typedef struct D3D12_HIT_GROUP_DESC {
const WCHAR *HitGroupExport;
D3D12_HIT_GROUP_TYPE Type;
const WCHAR *AnyHitShaderImport;
const WCHAR *ClosestHitShaderImport;
const WCHAR *IntersectionShaderImport;
} D3D12_HIT_GROUP_DESC;
typedef struct D3D12_RAYTRACING_SHADER_CONFIG {
UINT MaxPayloadSizeInBytes;
UINT MaxAttributeSizeInBytes;
} D3D12_RAYTRACING_SHADER_CONFIG;
typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG {
UINT MaxTraceRecursionDepth;
} D3D12_RAYTRACING_PIPELINE_CONFIG;
typedef enum D3D12_RAYTRACING_PIPELINE_FLAGS {
D3D12_RAYTRACING_PIPELINE_FLAG_NONE = 0x0,
D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES = 0x100,
D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
} D3D12_RAYTRACING_PIPELINE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_PIPELINE_FLAGS);
typedef struct D3D12_RAYTRACING_PIPELINE_CONFIG1 {
UINT MaxTraceRecursionDepth;
D3D12_RAYTRACING_PIPELINE_FLAGS Flags;
} D3D12_RAYTRACING_PIPELINE_CONFIG1;
typedef enum D3D12_STATE_OBJECT_TYPE {
D3D12_STATE_OBJECT_TYPE_COLLECTION = 0x0,
D3D12_STATE_OBJECT_TYPE_RAYTRACING_PIPELINE = 0x3
} D3D12_STATE_OBJECT_TYPE;
typedef struct D3D12_STATE_OBJECT_DESC {
D3D12_STATE_OBJECT_TYPE Type;
UINT NumSubobjects;
const D3D12_STATE_SUBOBJECT *pSubobjects;
} D3D12_STATE_OBJECT_DESC;
typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS {
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0x0,
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
} D3D12_RAYTRACING_GEOMETRY_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_GEOMETRY_FLAGS);
typedef enum D3D12_RAYTRACING_GEOMETRY_TYPE {
D3D12_RAYTRACING_GEOMETRY_TYPE_TRIANGLES = 0x0,
D3D12_RAYTRACING_GEOMETRY_TYPE_PROCEDURAL_PRIMITIVE_AABBS = 0x1
} D3D12_RAYTRACING_GEOMETRY_TYPE;
typedef enum D3D12_RAYTRACING_INSTANCE_FLAGS {
D3D12_RAYTRACING_INSTANCE_FLAG_NONE = 0x0,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE = 0x1,
D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE = 0x2,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE = 0x4,
D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE = 0x8
} D3D12_RAYTRACING_INSTANCE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_INSTANCE_FLAGS);
typedef struct D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE {
D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
UINT64 StrideInBytes;
} D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE;
typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE {
D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
UINT64 SizeInBytes;
} D3D12_GPU_VIRTUAL_ADDRESS_RANGE;
typedef struct D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE {
D3D12_GPU_VIRTUAL_ADDRESS StartAddress;
UINT64 SizeInBytes;
UINT64 StrideInBytes;
} D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE;
typedef struct D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC {
D3D12_GPU_VIRTUAL_ADDRESS Transform3x4;
DXGI_FORMAT IndexFormat;
DXGI_FORMAT VertexFormat;
UINT IndexCount;
UINT VertexCount;
D3D12_GPU_VIRTUAL_ADDRESS IndexBuffer;
D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE VertexBuffer;
} D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC;
typedef struct D3D12_RAYTRACING_AABB {
FLOAT MinX;
FLOAT MinY;
FLOAT MinZ;
FLOAT MaxX;
FLOAT MaxY;
FLOAT MaxZ;
} D3D12_RAYTRACING_AABB;
typedef struct D3D12_RAYTRACING_GEOMETRY_AABBS_DESC {
UINT64 AABBCount;
D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE AABBs;
} D3D12_RAYTRACING_GEOMETRY_AABBS_DESC;
typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE = 0x0,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE = 0x1,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION = 0x2,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE = 0x4,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD = 0x8,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY = 0x10,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE = 0x20
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS);
typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE {
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_CLONE = 0x0,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_COMPACT = 0x1,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_VISUALIZATION_DECODE_FOR_TOOLS = 0x2,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_SERIALIZE = 0x3,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE_DESERIALIZE = 0x4
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE;
typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE {
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL = 0x0,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL = 0x1
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE;
typedef enum D3D12_ELEMENTS_LAYOUT {
D3D12_ELEMENTS_LAYOUT_ARRAY = 0x0,
D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS = 0x1
} D3D12_ELEMENTS_LAYOUT;
typedef enum D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE {
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE = 0x0,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION = 0x1,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION = 0x2,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE = 0x3
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE;
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC {
D3D12_GPU_VIRTUAL_ADDRESS DestBuffer;
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TYPE InfoType;
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC;
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC {
UINT64 CompactedSizeInBytes;
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_COMPACTED_SIZE_DESC;
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC {
UINT64 DecodedSizeInBytes;
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC;
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER {
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
UINT NumDescs;
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER;
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC {
UINT64 SerializedSizeInBytes;
UINT64 NumBottomLevelAccelerationStructurePointers;
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC;
typedef struct D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER {
GUID DriverOpaqueGUID;
BYTE DriverOpaqueVersioningData[16];
} D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER;
typedef enum D3D12_SERIALIZED_DATA_TYPE {
D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE = 0x0
} D3D12_SERIALIZED_DATA_TYPE;
typedef enum D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS {
D3D12_DRIVER_MATCHING_IDENTIFIER_COMPATIBLE_WITH_DEVICE = 0x0,
D3D12_DRIVER_MATCHING_IDENTIFIER_UNSUPPORTED_TYPE = 0x1,
D3D12_DRIVER_MATCHING_IDENTIFIER_UNRECOGNIZED = 0x2,
D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_VERSION = 0x3,
D3D12_DRIVER_MATCHING_IDENTIFIER_INCOMPATIBLE_TYPE = 0x4
} D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS;
typedef struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER {
D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier;
UINT64 SerializedSizeInBytesIncludingHeader;
UINT64 DeserializedSizeInBytes;
UINT64 NumBottomLevelAccelerationStructurePointersAfterHeader;
} D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER;
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC {
UINT64 CurrentSizeInBytes;
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC;
typedef struct D3D12_RAYTRACING_INSTANCE_DESC {
FLOAT Transform[3][4];
UINT InstanceID : 24;
UINT InstanceMask : 8;
UINT InstanceContributionToHitGroupIndex : 24;
UINT Flags : 8;
D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
} D3D12_RAYTRACING_INSTANCE_DESC;
typedef struct D3D12_RAYTRACING_GEOMETRY_DESC {
D3D12_RAYTRACING_GEOMETRY_TYPE Type;
D3D12_RAYTRACING_GEOMETRY_FLAGS Flags;
__C89_NAMELESS union {
D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles;
D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs;
} __C89_NAMELESSUNIONNAME;
} D3D12_RAYTRACING_GEOMETRY_DESC;
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS {
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags;
UINT NumDescs;
D3D12_ELEMENTS_LAYOUT DescsLayout;
__C89_NAMELESS union {
D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs;
const D3D12_RAYTRACING_GEOMETRY_DESC *pGeometryDescs;
const D3D12_RAYTRACING_GEOMETRY_DESC *const *ppGeometryDescs;
} __C89_NAMELESSUNIONNAME;
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS;
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC {
D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC;
typedef struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO {
UINT64 ResultDataMaxSizeInBytes;
UINT64 ScratchDataSizeInBytes;
UINT64 UpdateScratchDataSizeInBytes;
} D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO;
typedef enum D3D12_RAY_FLAGS {
D3D12_RAY_FLAG_NONE = 0x0,
D3D12_RAY_FLAG_FORCE_OPAQUE = 0x1,
D3D12_RAY_FLAG_FORCE_NON_OPAQUE = 0x2,
D3D12_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH = 0x4,
D3D12_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER = 0x8,
D3D12_RAY_FLAG_CULL_BACK_FACING_TRIANGLES = 0x10,
D3D12_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES = 0x20,
D3D12_RAY_FLAG_CULL_OPAQUE = 0x40,
D3D12_RAY_FLAG_CULL_NON_OPAQUE = 0x80,
D3D12_RAY_FLAG_SKIP_TRIANGLES = 0x100,
D3D12_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES = 0x200
} D3D12_RAY_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RAY_FLAGS);
typedef enum D3D12_HIT_KIND {
D3D12_HIT_KIND_TRIANGLE_FRONT_FACE = 0xfe,
D3D12_HIT_KIND_TRIANGLE_BACK_FACE = 0xff
} D3D12_HIT_KIND;
/*****************************************************************************
* ID3D12Device5 interface
*/
#ifndef __ID3D12Device5_INTERFACE_DEFINED__
#define __ID3D12Device5_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device5, 0x8b4f173b, 0x2fea, 0x4b80, 0x8f,0x58, 0x43,0x07,0x19,0x1a,0xb9,0x5d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8b4f173b-2fea-4b80-8f58-4307191ab95d")
ID3D12Device5 : public ID3D12Device4
{
virtual HRESULT STDMETHODCALLTYPE CreateLifetimeTracker(
ID3D12LifetimeOwner *owner,
REFIID riid,
void **tracker) = 0;
virtual void STDMETHODCALLTYPE RemoveDevice(
) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommands(
UINT *meta_commands_count,
D3D12_META_COMMAND_DESC *descs) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumerateMetaCommandParameters(
REFGUID command_id,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *total_structure_size_in_bytes,
UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateMetaCommand(
REFGUID command_id,
UINT node_mask,
const void *creation_parameters_data,
SIZE_T creation_parameters_data_size_in_bytes,
REFIID riid,
void **meta_command) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateStateObject(
const D3D12_STATE_OBJECT_DESC *desc,
REFIID riid,
void **state_object) = 0;
virtual void STDMETHODCALLTYPE GetRaytracingAccelerationStructurePrebuildInfo(
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) = 0;
virtual D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS STDMETHODCALLTYPE CheckDriverMatchingIdentifier(
D3D12_SERIALIZED_DATA_TYPE serialized_data_type,
const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device5, 0x8b4f173b, 0x2fea, 0x4b80, 0x8f,0x58, 0x43,0x07,0x19,0x1a,0xb9,0x5d)
#endif
#else
typedef struct ID3D12Device5Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device5 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device5 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device5 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device5 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device5 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device5 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device5 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device5 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device5 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device5 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device5 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device5 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device5 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device5 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device5 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device5 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device5 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device5 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device5 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device5 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device5 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device5 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device5 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device5 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device5 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device5 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device5 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device5 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device5 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device5 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device5 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device5 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device5 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device5 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device5 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device5 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device5 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device5 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device5 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device5 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device5 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device5 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device5 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device5 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device5 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device5 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device5 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device5 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device5 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device5 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device5 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
/*** ID3D12Device4 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommandList1)(
ID3D12Device5 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)(
ID3D12Device5 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)(
ID3D12Device5 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap1)(
ID3D12Device5 *This,
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)(
ID3D12Device5 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)(
ID3D12Device5 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
/*** ID3D12Device5 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)(
ID3D12Device5 *This,
ID3D12LifetimeOwner *owner,
REFIID riid,
void **tracker);
void (STDMETHODCALLTYPE *RemoveDevice)(
ID3D12Device5 *This);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)(
ID3D12Device5 *This,
UINT *meta_commands_count,
D3D12_META_COMMAND_DESC *descs);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)(
ID3D12Device5 *This,
REFGUID command_id,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *total_structure_size_in_bytes,
UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs);
HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)(
ID3D12Device5 *This,
REFGUID command_id,
UINT node_mask,
const void *creation_parameters_data,
SIZE_T creation_parameters_data_size_in_bytes,
REFIID riid,
void **meta_command);
HRESULT (STDMETHODCALLTYPE *CreateStateObject)(
ID3D12Device5 *This,
const D3D12_STATE_OBJECT_DESC *desc,
REFIID riid,
void **state_object);
void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)(
ID3D12Device5 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info);
D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)(
ID3D12Device5 *This,
D3D12_SERIALIZED_DATA_TYPE serialized_data_type,
const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check);
END_INTERFACE
} ID3D12Device5Vtbl;
interface ID3D12Device5 {
CONST_VTBL ID3D12Device5Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device5_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device5_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device5_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device5_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device5_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device5_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device5_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device5_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device5_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device5_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device5_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device5_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device5_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device5_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device5_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device5_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device5_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device5_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device5_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device5_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device5_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device5_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device5_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device5_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device5_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device5_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device5_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device5_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device5_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device5_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device5_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device5_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device5_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device5_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device5_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device5_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device5_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device5_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device5_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device5_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device5_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device5_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device5_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device5_GetAdapterLuid(This) ID3D12Device5_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device5_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device5_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device5_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device5_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device5_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device5_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device5_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
/*** ID3D12Device4 methods ***/
#define ID3D12Device5_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list)
#define ID3D12Device5_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session)
#define ID3D12Device5_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device5_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap)
#define ID3D12Device5_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource)
#define ID3D12Device5_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device5_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device5 methods ***/
#define ID3D12Device5_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker)
#define ID3D12Device5_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This)
#define ID3D12Device5_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs)
#define ID3D12Device5_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs)
#define ID3D12Device5_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command)
#define ID3D12Device5_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object)
#define ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info)
#define ID3D12Device5_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device5_QueryInterface(ID3D12Device5* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device5_AddRef(ID3D12Device5* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device5_Release(ID3D12Device5* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device5_GetPrivateData(ID3D12Device5* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device5_SetPrivateData(ID3D12Device5* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device5_SetPrivateDataInterface(ID3D12Device5* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device5_SetName(ID3D12Device5* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device5_GetNodeCount(ID3D12Device5* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandQueue(ID3D12Device5* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandAllocator(ID3D12Device5* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateGraphicsPipelineState(ID3D12Device5* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateComputePipelineState(ID3D12Device5* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandList(ID3D12Device5* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CheckFeatureSupport(ID3D12Device5* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateDescriptorHeap(ID3D12Device5* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device5_GetDescriptorHandleIncrementSize(ID3D12Device5* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateRootSignature(ID3D12Device5* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device5_CreateConstantBufferView(ID3D12Device5* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device5_CreateShaderResourceView(ID3D12Device5* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device5_CreateUnorderedAccessView(ID3D12Device5* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device5_CreateRenderTargetView(ID3D12Device5* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device5_CreateDepthStencilView(ID3D12Device5* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device5_CreateSampler(ID3D12Device5* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device5_CopyDescriptors(ID3D12Device5* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device5_CopyDescriptorsSimple(ID3D12Device5* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device5_GetResourceAllocationInfo(ID3D12Device5* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device5_GetCustomHeapProperties(ID3D12Device5* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommittedResource(ID3D12Device5* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateHeap(ID3D12Device5* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreatePlacedResource(ID3D12Device5* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateReservedResource(ID3D12Device5* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateSharedHandle(ID3D12Device5* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device5_OpenSharedHandle(ID3D12Device5* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device5_OpenSharedHandleByName(ID3D12Device5* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device5_MakeResident(ID3D12Device5* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device5_Evict(ID3D12Device5* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateFence(ID3D12Device5* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device5_GetDeviceRemovedReason(ID3D12Device5* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device5_GetCopyableFootprints(ID3D12Device5* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateQueryHeap(ID3D12Device5* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device5_SetStablePowerState(ID3D12Device5* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandSignature(ID3D12Device5* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device5_GetResourceTiling(ID3D12Device5* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device5_GetAdapterLuid(ID3D12Device5* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device5_CreatePipelineLibrary(ID3D12Device5* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device5_SetEventOnMultipleFenceCompletion(ID3D12Device5* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device5_SetResidencyPriority(ID3D12Device5* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device5_CreatePipelineState(ID3D12Device5* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device5_OpenExistingHeapFromAddress(ID3D12Device5* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device5_OpenExistingHeapFromFileMapping(ID3D12Device5* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device5_EnqueueMakeResident(ID3D12Device5* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
/*** ID3D12Device4 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommandList1(ID3D12Device5* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateProtectedResourceSession(ID3D12Device5* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateCommittedResource1(ID3D12Device5* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateHeap1(ID3D12Device5* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateReservedResource1(ID3D12Device5* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device5_GetResourceAllocationInfo1(ID3D12Device5* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
/*** ID3D12Device5 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device5_CreateLifetimeTracker(ID3D12Device5* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) {
return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker);
}
static __WIDL_INLINE void ID3D12Device5_RemoveDevice(ID3D12Device5* This) {
This->lpVtbl->RemoveDevice(This);
}
static __WIDL_INLINE HRESULT ID3D12Device5_EnumerateMetaCommands(ID3D12Device5* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) {
return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs);
}
static __WIDL_INLINE HRESULT ID3D12Device5_EnumerateMetaCommandParameters(ID3D12Device5* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) {
return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateMetaCommand(ID3D12Device5* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) {
return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command);
}
static __WIDL_INLINE HRESULT ID3D12Device5_CreateStateObject(ID3D12Device5* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) {
return This->lpVtbl->CreateStateObject(This,desc,riid,state_object);
}
static __WIDL_INLINE void ID3D12Device5_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device5* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) {
This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info);
}
static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device5_CheckDriverMatchingIdentifier(ID3D12Device5* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) {
return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check);
}
#endif
#endif
#endif
#endif /* __ID3D12Device5_INTERFACE_DEFINED__ */
typedef enum D3D12_AUTO_BREADCRUMB_OP {
D3D12_AUTO_BREADCRUMB_OP_SETMARKER = 0x0,
D3D12_AUTO_BREADCRUMB_OP_BEGINEVENT = 0x1,
D3D12_AUTO_BREADCRUMB_OP_ENDEVENT = 0x2,
D3D12_AUTO_BREADCRUMB_OP_DRAWINSTANCED = 0x3,
D3D12_AUTO_BREADCRUMB_OP_DRAWINDEXEDINSTANCED = 0x4,
D3D12_AUTO_BREADCRUMB_OP_EXECUTEINDIRECT = 0x5,
D3D12_AUTO_BREADCRUMB_OP_DISPATCH = 0x6,
D3D12_AUTO_BREADCRUMB_OP_COPYBUFFERREGION = 0x7,
D3D12_AUTO_BREADCRUMB_OP_COPYTEXTUREREGION = 0x8,
D3D12_AUTO_BREADCRUMB_OP_COPYRESOURCE = 0x9,
D3D12_AUTO_BREADCRUMB_OP_COPYTILES = 0xa,
D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCE = 0xb,
D3D12_AUTO_BREADCRUMB_OP_CLEARRENDERTARGETVIEW = 0xc,
D3D12_AUTO_BREADCRUMB_OP_CLEARUNORDEREDACCESSVIEW = 0xd,
D3D12_AUTO_BREADCRUMB_OP_CLEARDEPTHSTENCILVIEW = 0xe,
D3D12_AUTO_BREADCRUMB_OP_RESOURCEBARRIER = 0xf,
D3D12_AUTO_BREADCRUMB_OP_EXECUTEBUNDLE = 0x10,
D3D12_AUTO_BREADCRUMB_OP_PRESENT = 0x11,
D3D12_AUTO_BREADCRUMB_OP_RESOLVEQUERYDATA = 0x12,
D3D12_AUTO_BREADCRUMB_OP_BEGINSUBMISSION = 0x13,
D3D12_AUTO_BREADCRUMB_OP_ENDSUBMISSION = 0x14,
D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME = 0x15,
D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES = 0x16,
D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT = 0x17,
D3D12_AUTO_BREADCRUMB_OP_ATOMICCOPYBUFFERUINT64 = 0x18,
D3D12_AUTO_BREADCRUMB_OP_RESOLVESUBRESOURCEREGION = 0x19,
D3D12_AUTO_BREADCRUMB_OP_WRITEBUFFERIMMEDIATE = 0x1a,
D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME1 = 0x1b,
D3D12_AUTO_BREADCRUMB_OP_SETPROTECTEDRESOURCESESSION = 0x1c,
D3D12_AUTO_BREADCRUMB_OP_DECODEFRAME2 = 0x1d,
D3D12_AUTO_BREADCRUMB_OP_PROCESSFRAMES1 = 0x1e,
D3D12_AUTO_BREADCRUMB_OP_BUILDRAYTRACINGACCELERATIONSTRUCTURE = 0x1f,
D3D12_AUTO_BREADCRUMB_OP_EMITRAYTRACINGACCELERATIONSTRUCTUREPOSTBUILDINFO = 0x20,
D3D12_AUTO_BREADCRUMB_OP_COPYRAYTRACINGACCELERATIONSTRUCTURE = 0x21,
D3D12_AUTO_BREADCRUMB_OP_DISPATCHRAYS = 0x22,
D3D12_AUTO_BREADCRUMB_OP_INITIALIZEMETACOMMAND = 0x23,
D3D12_AUTO_BREADCRUMB_OP_EXECUTEMETACOMMAND = 0x24,
D3D12_AUTO_BREADCRUMB_OP_ESTIMATEMOTION = 0x25,
D3D12_AUTO_BREADCRUMB_OP_RESOLVEMOTIONVECTORHEAP = 0x26,
D3D12_AUTO_BREADCRUMB_OP_SETPIPELINESTATE1 = 0x27,
D3D12_AUTO_BREADCRUMB_OP_INITIALIZEEXTENSIONCOMMAND = 0x28,
D3D12_AUTO_BREADCRUMB_OP_EXECUTEEXTENSIONCOMMAND = 0x29,
D3D12_AUTO_BREADCRUMB_OP_DISPATCHMESH = 0x2a,
D3D12_AUTO_BREADCRUMB_OP_ENCODEFRAME = 0x2b,
D3D12_AUTO_BREADCRUMB_OP_RESOLVEENCODEROUTPUTMETADATA = 0x2c
} D3D12_AUTO_BREADCRUMB_OP;
typedef struct D3D12_AUTO_BREADCRUMB_NODE {
const char *pCommandListDebugNameA;
const WCHAR *pCommandListDebugNameW;
const char *pCommandQueueDebugNameA;
const WCHAR *pCommandQueueDebugNameW;
ID3D12GraphicsCommandList *pCommandList;
ID3D12CommandQueue *pCommandQueue;
UINT32 BreadcrumbCount;
const UINT32 *pLastBreadcrumbValue;
const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
const struct D3D12_AUTO_BREADCRUMB_NODE *pNext;
} D3D12_AUTO_BREADCRUMB_NODE;
typedef struct D3D12_DRED_BREADCRUMB_CONTEXT {
UINT BreadcrumbIndex;
const WCHAR *pContextString;
} D3D12_DRED_BREADCRUMB_CONTEXT;
typedef struct D3D12_AUTO_BREADCRUMB_NODE1 {
const char *pCommandListDebugNameA;
const WCHAR *pCommandListDebugNameW;
const char *pCommandQueueDebugNameA;
const WCHAR *pCommandQueueDebugNameW;
ID3D12GraphicsCommandList *pCommandList;
ID3D12CommandQueue *pCommandQueue;
UINT BreadcrumbCount;
const UINT *pLastBreadcrumbValue;
const D3D12_AUTO_BREADCRUMB_OP *pCommandHistory;
const struct D3D12_AUTO_BREADCRUMB_NODE1 *pNext;
UINT BreadcrumbContextsCount;
D3D12_DRED_BREADCRUMB_CONTEXT *pBreadcrumbContexts;
} D3D12_AUTO_BREADCRUMB_NODE1;
typedef enum D3D12_DRED_VERSION {
D3D12_DRED_VERSION_1_0 = 0x1,
D3D12_DRED_VERSION_1_1 = 0x2,
D3D12_DRED_VERSION_1_2 = 0x3,
D3D12_DRED_VERSION_1_3 = 0x4
} D3D12_DRED_VERSION;
typedef enum D3D12_DRED_FLAGS {
D3D12_DRED_FLAG_NONE = 0x0,
D3D12_DRED_FLAG_FORCE_ENABLE = 0x1,
D3D12_DRED_FLAG_DISABLE_AUTOBREADCRUMBS = 0x2
} D3D12_DRED_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_DRED_FLAGS);
typedef enum D3D12_DRED_ENABLEMENT {
D3D12_DRED_ENABLEMENT_SYSTEM_CONTROLLED = 0x0,
D3D12_DRED_ENABLEMENT_FORCED_OFF = 0x1,
D3D12_DRED_ENABLEMENT_FORCED_ON = 0x2
} D3D12_DRED_ENABLEMENT;
typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA {
D3D12_DRED_FLAGS Flags;
D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
} D3D12_DEVICE_REMOVED_EXTENDED_DATA;
typedef enum D3D12_DRED_ALLOCATION_TYPE {
D3D12_DRED_ALLOCATION_TYPE_COMMAND_QUEUE = 0x13,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_ALLOCATOR = 0x14,
D3D12_DRED_ALLOCATION_TYPE_PIPELINE_STATE = 0x15,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_LIST = 0x16,
D3D12_DRED_ALLOCATION_TYPE_FENCE = 0x17,
D3D12_DRED_ALLOCATION_TYPE_DESCRIPTOR_HEAP = 0x18,
D3D12_DRED_ALLOCATION_TYPE_HEAP = 0x19,
D3D12_DRED_ALLOCATION_TYPE_QUERY_HEAP = 0x1b,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_SIGNATURE = 0x1c,
D3D12_DRED_ALLOCATION_TYPE_PIPELINE_LIBRARY = 0x1d,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER = 0x1e,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_PROCESSOR = 0x20,
D3D12_DRED_ALLOCATION_TYPE_RESOURCE = 0x22,
D3D12_DRED_ALLOCATION_TYPE_PASS = 0x23,
D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSION = 0x24,
D3D12_DRED_ALLOCATION_TYPE_CRYPTOSESSIONPOLICY = 0x25,
D3D12_DRED_ALLOCATION_TYPE_PROTECTEDRESOURCESESSION = 0x26,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_DECODER_HEAP = 0x27,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_POOL = 0x28,
D3D12_DRED_ALLOCATION_TYPE_COMMAND_RECORDER = 0x29,
D3D12_DRED_ALLOCATION_TYPE_STATE_OBJECT = 0x2a,
D3D12_DRED_ALLOCATION_TYPE_METACOMMAND = 0x2b,
D3D12_DRED_ALLOCATION_TYPE_SCHEDULINGGROUP = 0x2c,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_ESTIMATOR = 0x2d,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_MOTION_VECTOR_HEAP = 0x2e,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_EXTENSION_COMMAND = 0x2f,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER = 0x30,
D3D12_DRED_ALLOCATION_TYPE_VIDEO_ENCODER_HEAP = 0x31,
D3D12_DRED_ALLOCATION_TYPE_INVALID = 0xffffffff
} D3D12_DRED_ALLOCATION_TYPE;
typedef struct D3D12_DRED_ALLOCATION_NODE {
const char *ObjectNameA;
const WCHAR *ObjectNameW;
D3D12_DRED_ALLOCATION_TYPE AllocationType;
const struct D3D12_DRED_ALLOCATION_NODE *pNext;
} D3D12_DRED_ALLOCATION_NODE;
typedef struct D3D12_DRED_ALLOCATION_NODE1 {
const char *ObjectNameA;
const WCHAR *ObjectNameW;
D3D12_DRED_ALLOCATION_TYPE AllocationType;
const struct D3D12_DRED_ALLOCATION_NODE1 *pNext;
const IUnknown *pObject;
} D3D12_DRED_ALLOCATION_NODE1;
typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT {
const D3D12_AUTO_BREADCRUMB_NODE *pHeadAutoBreadcrumbNode;
} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT;
typedef struct D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 {
const D3D12_AUTO_BREADCRUMB_NODE1 *pHeadAutoBreadcrumbNode;
} D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1;
typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT {
D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
const D3D12_DRED_ALLOCATION_NODE *pHeadExistingAllocationNode;
const D3D12_DRED_ALLOCATION_NODE *pHeadRecentFreedAllocationNode;
} D3D12_DRED_PAGE_FAULT_OUTPUT;
typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT1 {
D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
} D3D12_DRED_PAGE_FAULT_OUTPUT1;
typedef enum D3D12_DRED_PAGE_FAULT_FLAGS {
D3D12_DRED_PAGE_FAULT_FLAGS_NONE = 0x0
} D3D12_DRED_PAGE_FAULT_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_DRED_PAGE_FAULT_FLAGS);
typedef enum D3D12_DRED_DEVICE_STATE {
D3D12_DRED_DEVICE_STATE_UNKNOWN = 0x0,
D3D12_DRED_DEVICE_STATE_HUNG = 0x3,
D3D12_DRED_DEVICE_STATE_FAULT = 0x6,
D3D12_DRED_DEVICE_STATE_PAGEFAULT = 0x7
} D3D12_DRED_DEVICE_STATE;
typedef struct D3D12_DRED_PAGE_FAULT_OUTPUT2 {
D3D12_GPU_VIRTUAL_ADDRESS PageFaultVA;
const D3D12_DRED_ALLOCATION_NODE1 *pHeadExistingAllocationNode;
const D3D12_DRED_ALLOCATION_NODE1 *pHeadRecentFreedAllocationNode;
D3D12_DRED_PAGE_FAULT_FLAGS PageFaultFlags;
} D3D12_DRED_PAGE_FAULT_OUTPUT2;
typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA1 {
HRESULT DeviceRemovedReason;
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT AutoBreadcrumbsOutput;
D3D12_DRED_PAGE_FAULT_OUTPUT PageFaultOutput;
} D3D12_DEVICE_REMOVED_EXTENDED_DATA1;
typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA2 {
HRESULT DeviceRemovedReason;
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
D3D12_DRED_PAGE_FAULT_OUTPUT1 PageFaultOutput;
} D3D12_DEVICE_REMOVED_EXTENDED_DATA2;
typedef struct D3D12_DEVICE_REMOVED_EXTENDED_DATA3 {
HRESULT DeviceRemovedReason;
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 AutoBreadcrumbsOutput;
D3D12_DRED_PAGE_FAULT_OUTPUT2 PageFaultOutput;
D3D12_DRED_DEVICE_STATE DeviceState;
} D3D12_DEVICE_REMOVED_EXTENDED_DATA3;
typedef struct D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA {
D3D12_DRED_VERSION Version;
__C89_NAMELESS union {
D3D12_DEVICE_REMOVED_EXTENDED_DATA Dred_1_0;
D3D12_DEVICE_REMOVED_EXTENDED_DATA1 Dred_1_1;
D3D12_DEVICE_REMOVED_EXTENDED_DATA2 Dred_1_2;
D3D12_DEVICE_REMOVED_EXTENDED_DATA3 Dred_1_3;
} __C89_NAMELESSUNIONNAME;
} D3D12_VERSIONED_DEVICE_REMOVED_EXTENDED_DATA;
/*****************************************************************************
* ID3D12DeviceRemovedExtendedDataSettings interface
*/
#ifndef __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
#define __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings, 0x82bc481c, 0x6b9b, 0x4030, 0xae,0xdb, 0x7e,0xe3,0xd1,0xdf,0x1e,0x63);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("82bc481c-6b9b-4030-aedb-7ee3d1df1e63")
ID3D12DeviceRemovedExtendedDataSettings : public IUnknown
{
virtual void STDMETHODCALLTYPE SetAutoBreadcrumbsEnablement(
D3D12_DRED_ENABLEMENT enablement) = 0;
virtual void STDMETHODCALLTYPE SetPageFaultEnablement(
D3D12_DRED_ENABLEMENT enablement) = 0;
virtual void STDMETHODCALLTYPE SetWatsonDumpEnablement(
D3D12_DRED_ENABLEMENT enablement) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedDataSettings, 0x82bc481c, 0x6b9b, 0x4030, 0xae,0xdb, 0x7e,0xe3,0xd1,0xdf,0x1e,0x63)
#endif
#else
typedef struct ID3D12DeviceRemovedExtendedDataSettingsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12DeviceRemovedExtendedDataSettings *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12DeviceRemovedExtendedDataSettings *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12DeviceRemovedExtendedDataSettings *This);
/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/
void (STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement)(
ID3D12DeviceRemovedExtendedDataSettings *This,
D3D12_DRED_ENABLEMENT enablement);
void (STDMETHODCALLTYPE *SetPageFaultEnablement)(
ID3D12DeviceRemovedExtendedDataSettings *This,
D3D12_DRED_ENABLEMENT enablement);
void (STDMETHODCALLTYPE *SetWatsonDumpEnablement)(
ID3D12DeviceRemovedExtendedDataSettings *This,
D3D12_DRED_ENABLEMENT enablement);
END_INTERFACE
} ID3D12DeviceRemovedExtendedDataSettingsVtbl;
interface ID3D12DeviceRemovedExtendedDataSettings {
CONST_VTBL ID3D12DeviceRemovedExtendedDataSettingsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DeviceRemovedExtendedDataSettings_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DeviceRemovedExtendedDataSettings_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/
#define ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(This,enablement) (This)->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement)
#define ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(This,enablement) (This)->lpVtbl->SetPageFaultEnablement(This,enablement)
#define ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(This,enablement) (This)->lpVtbl->SetWatsonDumpEnablement(This,enablement)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedDataSettings_QueryInterface(ID3D12DeviceRemovedExtendedDataSettings* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings_AddRef(ID3D12DeviceRemovedExtendedDataSettings* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings_Release(ID3D12DeviceRemovedExtendedDataSettings* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/
static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings_SetAutoBreadcrumbsEnablement(ID3D12DeviceRemovedExtendedDataSettings* This,D3D12_DRED_ENABLEMENT enablement) {
This->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement);
}
static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings_SetPageFaultEnablement(ID3D12DeviceRemovedExtendedDataSettings* This,D3D12_DRED_ENABLEMENT enablement) {
This->lpVtbl->SetPageFaultEnablement(This,enablement);
}
static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings_SetWatsonDumpEnablement(ID3D12DeviceRemovedExtendedDataSettings* This,D3D12_DRED_ENABLEMENT enablement) {
This->lpVtbl->SetWatsonDumpEnablement(This,enablement);
}
#endif
#endif
#endif
#endif /* __ID3D12DeviceRemovedExtendedDataSettings_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12DeviceRemovedExtendedDataSettings1 interface
*/
#ifndef __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
#define __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedDataSettings1, 0xdbd5ae51, 0x3317, 0x4f0a, 0xad,0xf9, 0x1d,0x7c,0xed,0xca,0xae,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dbd5ae51-3317-4f0a-adf9-1d7cedcaae0b")
ID3D12DeviceRemovedExtendedDataSettings1 : public ID3D12DeviceRemovedExtendedDataSettings
{
virtual void STDMETHODCALLTYPE SetBreadcrumbContextEnablement(
D3D12_DRED_ENABLEMENT enablement) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedDataSettings1, 0xdbd5ae51, 0x3317, 0x4f0a, 0xad,0xf9, 0x1d,0x7c,0xed,0xca,0xae,0x0b)
#endif
#else
typedef struct ID3D12DeviceRemovedExtendedDataSettings1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12DeviceRemovedExtendedDataSettings1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12DeviceRemovedExtendedDataSettings1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12DeviceRemovedExtendedDataSettings1 *This);
/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/
void (STDMETHODCALLTYPE *SetAutoBreadcrumbsEnablement)(
ID3D12DeviceRemovedExtendedDataSettings1 *This,
D3D12_DRED_ENABLEMENT enablement);
void (STDMETHODCALLTYPE *SetPageFaultEnablement)(
ID3D12DeviceRemovedExtendedDataSettings1 *This,
D3D12_DRED_ENABLEMENT enablement);
void (STDMETHODCALLTYPE *SetWatsonDumpEnablement)(
ID3D12DeviceRemovedExtendedDataSettings1 *This,
D3D12_DRED_ENABLEMENT enablement);
/*** ID3D12DeviceRemovedExtendedDataSettings1 methods ***/
void (STDMETHODCALLTYPE *SetBreadcrumbContextEnablement)(
ID3D12DeviceRemovedExtendedDataSettings1 *This,
D3D12_DRED_ENABLEMENT enablement);
END_INTERFACE
} ID3D12DeviceRemovedExtendedDataSettings1Vtbl;
interface ID3D12DeviceRemovedExtendedDataSettings1 {
CONST_VTBL ID3D12DeviceRemovedExtendedDataSettings1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DeviceRemovedExtendedDataSettings1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DeviceRemovedExtendedDataSettings1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/
#define ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(This,enablement) (This)->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement)
#define ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(This,enablement) (This)->lpVtbl->SetPageFaultEnablement(This,enablement)
#define ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(This,enablement) (This)->lpVtbl->SetWatsonDumpEnablement(This,enablement)
/*** ID3D12DeviceRemovedExtendedDataSettings1 methods ***/
#define ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(This,enablement) (This)->lpVtbl->SetBreadcrumbContextEnablement(This,enablement)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedDataSettings1_QueryInterface(ID3D12DeviceRemovedExtendedDataSettings1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings1_AddRef(ID3D12DeviceRemovedExtendedDataSettings1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedDataSettings1_Release(ID3D12DeviceRemovedExtendedDataSettings1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12DeviceRemovedExtendedDataSettings methods ***/
static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetAutoBreadcrumbsEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) {
This->lpVtbl->SetAutoBreadcrumbsEnablement(This,enablement);
}
static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetPageFaultEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) {
This->lpVtbl->SetPageFaultEnablement(This,enablement);
}
static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetWatsonDumpEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) {
This->lpVtbl->SetWatsonDumpEnablement(This,enablement);
}
/*** ID3D12DeviceRemovedExtendedDataSettings1 methods ***/
static __WIDL_INLINE void ID3D12DeviceRemovedExtendedDataSettings1_SetBreadcrumbContextEnablement(ID3D12DeviceRemovedExtendedDataSettings1* This,D3D12_DRED_ENABLEMENT enablement) {
This->lpVtbl->SetBreadcrumbContextEnablement(This,enablement);
}
#endif
#endif
#endif
#endif /* __ID3D12DeviceRemovedExtendedDataSettings1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12DeviceRemovedExtendedData interface
*/
#ifndef __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
#define __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData, 0x98931d33, 0x5ae8, 0x4791, 0xaa,0x3c, 0x1a,0x73,0xa2,0x93,0x4e,0x71);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("98931d33-5ae8-4791-aa3c-1a73a2934e71")
ID3D12DeviceRemovedExtendedData : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput(
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput(
D3D12_DRED_PAGE_FAULT_OUTPUT *output) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedData, 0x98931d33, 0x5ae8, 0x4791, 0xaa,0x3c, 0x1a,0x73,0xa2,0x93,0x4e,0x71)
#endif
#else
typedef struct ID3D12DeviceRemovedExtendedDataVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12DeviceRemovedExtendedData *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12DeviceRemovedExtendedData *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12DeviceRemovedExtendedData *This);
/*** ID3D12DeviceRemovedExtendedData methods ***/
HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput)(
ID3D12DeviceRemovedExtendedData *This,
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output);
HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput)(
ID3D12DeviceRemovedExtendedData *This,
D3D12_DRED_PAGE_FAULT_OUTPUT *output);
END_INTERFACE
} ID3D12DeviceRemovedExtendedDataVtbl;
interface ID3D12DeviceRemovedExtendedData {
CONST_VTBL ID3D12DeviceRemovedExtendedDataVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DeviceRemovedExtendedData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DeviceRemovedExtendedData_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DeviceRemovedExtendedData_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DeviceRemovedExtendedData methods ***/
#define ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput(This,output)
#define ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput(This,output)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData_QueryInterface(ID3D12DeviceRemovedExtendedData* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData_AddRef(ID3D12DeviceRemovedExtendedData* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData_Release(ID3D12DeviceRemovedExtendedData* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12DeviceRemovedExtendedData methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData_GetAutoBreadcrumbsOutput(ID3D12DeviceRemovedExtendedData* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) {
return This->lpVtbl->GetAutoBreadcrumbsOutput(This,output);
}
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData_GetPageFaultAllocationOutput(ID3D12DeviceRemovedExtendedData* This,D3D12_DRED_PAGE_FAULT_OUTPUT *output) {
return This->lpVtbl->GetPageFaultAllocationOutput(This,output);
}
#endif
#endif
#endif
#endif /* __ID3D12DeviceRemovedExtendedData_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12DeviceRemovedExtendedData1 interface
*/
#ifndef __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
#define __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData1, 0x9727a022, 0xcf1d, 0x4dda, 0x9e,0xba, 0xef,0xfa,0x65,0x3f,0xc5,0x06);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9727a022-cf1d-4dda-9eba-effa653fc506")
ID3D12DeviceRemovedExtendedData1 : public ID3D12DeviceRemovedExtendedData
{
virtual HRESULT STDMETHODCALLTYPE GetAutoBreadcrumbsOutput1(
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput1(
D3D12_DRED_PAGE_FAULT_OUTPUT1 *output) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedData1, 0x9727a022, 0xcf1d, 0x4dda, 0x9e,0xba, 0xef,0xfa,0x65,0x3f,0xc5,0x06)
#endif
#else
typedef struct ID3D12DeviceRemovedExtendedData1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12DeviceRemovedExtendedData1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12DeviceRemovedExtendedData1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12DeviceRemovedExtendedData1 *This);
/*** ID3D12DeviceRemovedExtendedData methods ***/
HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput)(
ID3D12DeviceRemovedExtendedData1 *This,
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output);
HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput)(
ID3D12DeviceRemovedExtendedData1 *This,
D3D12_DRED_PAGE_FAULT_OUTPUT *output);
/*** ID3D12DeviceRemovedExtendedData1 methods ***/
HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1)(
ID3D12DeviceRemovedExtendedData1 *This,
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output);
HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput1)(
ID3D12DeviceRemovedExtendedData1 *This,
D3D12_DRED_PAGE_FAULT_OUTPUT1 *output);
END_INTERFACE
} ID3D12DeviceRemovedExtendedData1Vtbl;
interface ID3D12DeviceRemovedExtendedData1 {
CONST_VTBL ID3D12DeviceRemovedExtendedData1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DeviceRemovedExtendedData1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DeviceRemovedExtendedData1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DeviceRemovedExtendedData1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DeviceRemovedExtendedData methods ***/
#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput(This,output)
#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput(This,output)
/*** ID3D12DeviceRemovedExtendedData1 methods ***/
#define ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput1(This,output)
#define ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput1(This,output)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_QueryInterface(ID3D12DeviceRemovedExtendedData1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData1_AddRef(ID3D12DeviceRemovedExtendedData1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData1_Release(ID3D12DeviceRemovedExtendedData1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12DeviceRemovedExtendedData methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) {
return This->lpVtbl->GetAutoBreadcrumbsOutput(This,output);
}
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_PAGE_FAULT_OUTPUT *output) {
return This->lpVtbl->GetPageFaultAllocationOutput(This,output);
}
/*** ID3D12DeviceRemovedExtendedData1 methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetAutoBreadcrumbsOutput1(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output) {
return This->lpVtbl->GetAutoBreadcrumbsOutput1(This,output);
}
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData1_GetPageFaultAllocationOutput1(ID3D12DeviceRemovedExtendedData1* This,D3D12_DRED_PAGE_FAULT_OUTPUT1 *output) {
return This->lpVtbl->GetPageFaultAllocationOutput1(This,output);
}
#endif
#endif
#endif
#endif /* __ID3D12DeviceRemovedExtendedData1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12DeviceRemovedExtendedData2 interface
*/
#ifndef __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
#define __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12DeviceRemovedExtendedData2, 0x67fc5816, 0xe4ca, 0x4915, 0xbf,0x18, 0x42,0x54,0x12,0x72,0xda,0x54);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("67fc5816-e4ca-4915-bf18-42541272da54")
ID3D12DeviceRemovedExtendedData2 : public ID3D12DeviceRemovedExtendedData1
{
virtual HRESULT STDMETHODCALLTYPE GetPageFaultAllocationOutput2(
D3D12_DRED_PAGE_FAULT_OUTPUT2 *output) = 0;
virtual D3D12_DRED_DEVICE_STATE STDMETHODCALLTYPE GetDeviceState(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12DeviceRemovedExtendedData2, 0x67fc5816, 0xe4ca, 0x4915, 0xbf,0x18, 0x42,0x54,0x12,0x72,0xda,0x54)
#endif
#else
typedef struct ID3D12DeviceRemovedExtendedData2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12DeviceRemovedExtendedData2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12DeviceRemovedExtendedData2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12DeviceRemovedExtendedData2 *This);
/*** ID3D12DeviceRemovedExtendedData methods ***/
HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput)(
ID3D12DeviceRemovedExtendedData2 *This,
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output);
HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput)(
ID3D12DeviceRemovedExtendedData2 *This,
D3D12_DRED_PAGE_FAULT_OUTPUT *output);
/*** ID3D12DeviceRemovedExtendedData1 methods ***/
HRESULT (STDMETHODCALLTYPE *GetAutoBreadcrumbsOutput1)(
ID3D12DeviceRemovedExtendedData2 *This,
D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output);
HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput1)(
ID3D12DeviceRemovedExtendedData2 *This,
D3D12_DRED_PAGE_FAULT_OUTPUT1 *output);
/*** ID3D12DeviceRemovedExtendedData2 methods ***/
HRESULT (STDMETHODCALLTYPE *GetPageFaultAllocationOutput2)(
ID3D12DeviceRemovedExtendedData2 *This,
D3D12_DRED_PAGE_FAULT_OUTPUT2 *output);
D3D12_DRED_DEVICE_STATE (STDMETHODCALLTYPE *GetDeviceState)(
ID3D12DeviceRemovedExtendedData2 *This);
END_INTERFACE
} ID3D12DeviceRemovedExtendedData2Vtbl;
interface ID3D12DeviceRemovedExtendedData2 {
CONST_VTBL ID3D12DeviceRemovedExtendedData2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12DeviceRemovedExtendedData2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12DeviceRemovedExtendedData2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12DeviceRemovedExtendedData2_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12DeviceRemovedExtendedData methods ***/
#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput(This,output)
#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput(This,output)
/*** ID3D12DeviceRemovedExtendedData1 methods ***/
#define ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(This,output) (This)->lpVtbl->GetAutoBreadcrumbsOutput1(This,output)
#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput1(This,output)
/*** ID3D12DeviceRemovedExtendedData2 methods ***/
#define ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(This,output) (This)->lpVtbl->GetPageFaultAllocationOutput2(This,output)
#define ID3D12DeviceRemovedExtendedData2_GetDeviceState(This) (This)->lpVtbl->GetDeviceState(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_QueryInterface(ID3D12DeviceRemovedExtendedData2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData2_AddRef(ID3D12DeviceRemovedExtendedData2* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12DeviceRemovedExtendedData2_Release(ID3D12DeviceRemovedExtendedData2* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12DeviceRemovedExtendedData methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT *output) {
return This->lpVtbl->GetAutoBreadcrumbsOutput(This,output);
}
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_PAGE_FAULT_OUTPUT *output) {
return This->lpVtbl->GetPageFaultAllocationOutput(This,output);
}
/*** ID3D12DeviceRemovedExtendedData1 methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetAutoBreadcrumbsOutput1(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_AUTO_BREADCRUMBS_OUTPUT1 *output) {
return This->lpVtbl->GetAutoBreadcrumbsOutput1(This,output);
}
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput1(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_PAGE_FAULT_OUTPUT1 *output) {
return This->lpVtbl->GetPageFaultAllocationOutput1(This,output);
}
/*** ID3D12DeviceRemovedExtendedData2 methods ***/
static __WIDL_INLINE HRESULT ID3D12DeviceRemovedExtendedData2_GetPageFaultAllocationOutput2(ID3D12DeviceRemovedExtendedData2* This,D3D12_DRED_PAGE_FAULT_OUTPUT2 *output) {
return This->lpVtbl->GetPageFaultAllocationOutput2(This,output);
}
static __WIDL_INLINE D3D12_DRED_DEVICE_STATE ID3D12DeviceRemovedExtendedData2_GetDeviceState(ID3D12DeviceRemovedExtendedData2* This) {
return This->lpVtbl->GetDeviceState(This);
}
#endif
#endif
#endif
#endif /* __ID3D12DeviceRemovedExtendedData2_INTERFACE_DEFINED__ */
typedef enum D3D12_BACKGROUND_PROCESSING_MODE {
D3D12_BACKGROUND_PROCESSING_MODE_ALLOWED = 0x0,
D3D12_BACKGROUND_PROCESSING_MODE_ALLOW_INTRUSIVE_MEASUREMENTS = 0x1,
D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_BACKGROUND_WORK = 0x2,
D3D12_BACKGROUND_PROCESSING_MODE_DISABLE_PROFILING_BY_SYSTEM = 0x3
} D3D12_BACKGROUND_PROCESSING_MODE;
typedef enum D3D12_MEASUREMENTS_ACTION {
D3D12_MEASUREMENTS_ACTION_KEEP_ALL = 0x0,
D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS = 0x1,
D3D12_MEASUREMENTS_ACTION_COMMIT_RESULTS_HIGH_PRIORITY = 0x2,
D3D12_MEASUREMENTS_ACTION_DISCARD_PREVIOUS = 0x3
} D3D12_MEASUREMENTS_ACTION;
/*****************************************************************************
* ID3D12Device6 interface
*/
#ifndef __ID3D12Device6_INTERFACE_DEFINED__
#define __ID3D12Device6_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device6, 0xc70b221b, 0x40e4, 0x4a17, 0x89,0xaf, 0x02,0x5a,0x07,0x27,0xa6,0xdc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c70b221b-40e4-4a17-89af-025a0727a6dc")
ID3D12Device6 : public ID3D12Device5
{
virtual HRESULT STDMETHODCALLTYPE SetBackgroundProcessingMode(
D3D12_BACKGROUND_PROCESSING_MODE mode,
D3D12_MEASUREMENTS_ACTION action,
HANDLE event,
WINBOOL *further_measurements_desired) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device6, 0xc70b221b, 0x40e4, 0x4a17, 0x89,0xaf, 0x02,0x5a,0x07,0x27,0xa6,0xdc)
#endif
#else
typedef struct ID3D12Device6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device6 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device6 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device6 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device6 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device6 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device6 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device6 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device6 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device6 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device6 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device6 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device6 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device6 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device6 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device6 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device6 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device6 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device6 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device6 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device6 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device6 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device6 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device6 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device6 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device6 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device6 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device6 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device6 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device6 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device6 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device6 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device6 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device6 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device6 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device6 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device6 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device6 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device6 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device6 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device6 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device6 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device6 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device6 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device6 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device6 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device6 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device6 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device6 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device6 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
/*** ID3D12Device4 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommandList1)(
ID3D12Device6 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)(
ID3D12Device6 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)(
ID3D12Device6 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap1)(
ID3D12Device6 *This,
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)(
ID3D12Device6 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)(
ID3D12Device6 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
/*** ID3D12Device5 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)(
ID3D12Device6 *This,
ID3D12LifetimeOwner *owner,
REFIID riid,
void **tracker);
void (STDMETHODCALLTYPE *RemoveDevice)(
ID3D12Device6 *This);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)(
ID3D12Device6 *This,
UINT *meta_commands_count,
D3D12_META_COMMAND_DESC *descs);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)(
ID3D12Device6 *This,
REFGUID command_id,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *total_structure_size_in_bytes,
UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs);
HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)(
ID3D12Device6 *This,
REFGUID command_id,
UINT node_mask,
const void *creation_parameters_data,
SIZE_T creation_parameters_data_size_in_bytes,
REFIID riid,
void **meta_command);
HRESULT (STDMETHODCALLTYPE *CreateStateObject)(
ID3D12Device6 *This,
const D3D12_STATE_OBJECT_DESC *desc,
REFIID riid,
void **state_object);
void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)(
ID3D12Device6 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info);
D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)(
ID3D12Device6 *This,
D3D12_SERIALIZED_DATA_TYPE serialized_data_type,
const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check);
/*** ID3D12Device6 methods ***/
HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)(
ID3D12Device6 *This,
D3D12_BACKGROUND_PROCESSING_MODE mode,
D3D12_MEASUREMENTS_ACTION action,
HANDLE event,
WINBOOL *further_measurements_desired);
END_INTERFACE
} ID3D12Device6Vtbl;
interface ID3D12Device6 {
CONST_VTBL ID3D12Device6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device6_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device6_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device6_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device6_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device6_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device6_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device6_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device6_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device6_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device6_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device6_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device6_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device6_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device6_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device6_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device6_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device6_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device6_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device6_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device6_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device6_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device6_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device6_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device6_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device6_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device6_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device6_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device6_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device6_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device6_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device6_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device6_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device6_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device6_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device6_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device6_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device6_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device6_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device6_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device6_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device6_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device6_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device6_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device6_GetAdapterLuid(This) ID3D12Device6_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device6_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device6_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device6_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device6_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device6_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device6_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device6_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
/*** ID3D12Device4 methods ***/
#define ID3D12Device6_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list)
#define ID3D12Device6_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session)
#define ID3D12Device6_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device6_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap)
#define ID3D12Device6_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource)
#define ID3D12Device6_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device6_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device5 methods ***/
#define ID3D12Device6_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker)
#define ID3D12Device6_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This)
#define ID3D12Device6_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs)
#define ID3D12Device6_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs)
#define ID3D12Device6_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command)
#define ID3D12Device6_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object)
#define ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info)
#define ID3D12Device6_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check)
/*** ID3D12Device6 methods ***/
#define ID3D12Device6_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_QueryInterface(ID3D12Device6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device6_AddRef(ID3D12Device6* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device6_Release(ID3D12Device6* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_GetPrivateData(ID3D12Device6* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device6_SetPrivateData(ID3D12Device6* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device6_SetPrivateDataInterface(ID3D12Device6* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device6_SetName(ID3D12Device6* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device6_GetNodeCount(ID3D12Device6* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandQueue(ID3D12Device6* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandAllocator(ID3D12Device6* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateGraphicsPipelineState(ID3D12Device6* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateComputePipelineState(ID3D12Device6* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandList(ID3D12Device6* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CheckFeatureSupport(ID3D12Device6* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateDescriptorHeap(ID3D12Device6* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device6_GetDescriptorHandleIncrementSize(ID3D12Device6* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateRootSignature(ID3D12Device6* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device6_CreateConstantBufferView(ID3D12Device6* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device6_CreateShaderResourceView(ID3D12Device6* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device6_CreateUnorderedAccessView(ID3D12Device6* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device6_CreateRenderTargetView(ID3D12Device6* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device6_CreateDepthStencilView(ID3D12Device6* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device6_CreateSampler(ID3D12Device6* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device6_CopyDescriptors(ID3D12Device6* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device6_CopyDescriptorsSimple(ID3D12Device6* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device6_GetResourceAllocationInfo(ID3D12Device6* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device6_GetCustomHeapProperties(ID3D12Device6* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommittedResource(ID3D12Device6* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateHeap(ID3D12Device6* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreatePlacedResource(ID3D12Device6* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateReservedResource(ID3D12Device6* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateSharedHandle(ID3D12Device6* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device6_OpenSharedHandle(ID3D12Device6* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device6_OpenSharedHandleByName(ID3D12Device6* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device6_MakeResident(ID3D12Device6* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device6_Evict(ID3D12Device6* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateFence(ID3D12Device6* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device6_GetDeviceRemovedReason(ID3D12Device6* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device6_GetCopyableFootprints(ID3D12Device6* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateQueryHeap(ID3D12Device6* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device6_SetStablePowerState(ID3D12Device6* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandSignature(ID3D12Device6* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device6_GetResourceTiling(ID3D12Device6* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device6_GetAdapterLuid(ID3D12Device6* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_CreatePipelineLibrary(ID3D12Device6* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device6_SetEventOnMultipleFenceCompletion(ID3D12Device6* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device6_SetResidencyPriority(ID3D12Device6* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_CreatePipelineState(ID3D12Device6* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_OpenExistingHeapFromAddress(ID3D12Device6* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device6_OpenExistingHeapFromFileMapping(ID3D12Device6* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device6_EnqueueMakeResident(ID3D12Device6* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
/*** ID3D12Device4 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommandList1(ID3D12Device6* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateProtectedResourceSession(ID3D12Device6* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateCommittedResource1(ID3D12Device6* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateHeap1(ID3D12Device6* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateReservedResource1(ID3D12Device6* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device6_GetResourceAllocationInfo1(ID3D12Device6* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
/*** ID3D12Device5 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_CreateLifetimeTracker(ID3D12Device6* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) {
return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker);
}
static __WIDL_INLINE void ID3D12Device6_RemoveDevice(ID3D12Device6* This) {
This->lpVtbl->RemoveDevice(This);
}
static __WIDL_INLINE HRESULT ID3D12Device6_EnumerateMetaCommands(ID3D12Device6* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) {
return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs);
}
static __WIDL_INLINE HRESULT ID3D12Device6_EnumerateMetaCommandParameters(ID3D12Device6* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) {
return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateMetaCommand(ID3D12Device6* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) {
return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command);
}
static __WIDL_INLINE HRESULT ID3D12Device6_CreateStateObject(ID3D12Device6* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) {
return This->lpVtbl->CreateStateObject(This,desc,riid,state_object);
}
static __WIDL_INLINE void ID3D12Device6_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device6* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) {
This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info);
}
static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device6_CheckDriverMatchingIdentifier(ID3D12Device6* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) {
return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check);
}
/*** ID3D12Device6 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device6_SetBackgroundProcessingMode(ID3D12Device6* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) {
return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired);
}
#endif
#endif
#endif
#endif /* __ID3D12Device6_INTERFACE_DEFINED__ */
DEFINE_GUID(D3D12_PROTECTED_RESOURCES_SESSION_HARDWARE_PROTECTED, 0x62b0084e, 0xc70e, 0x4daa, 0xa1, 0x09, 0x30, 0xff, 0x8d, 0x5a, 0x04, 0x82);
typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT {
UINT NodeIndex;
UINT Count;
} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPE_COUNT;
typedef struct D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES {
UINT NodeIndex;
UINT Count;
GUID *pTypes;
} D3D12_FEATURE_DATA_PROTECTED_RESOURCE_SESSION_TYPES;
typedef struct D3D12_PROTECTED_RESOURCE_SESSION_DESC1 {
UINT NodeMask;
D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Flags;
GUID ProtectionType;
} D3D12_PROTECTED_RESOURCE_SESSION_DESC1;
/*****************************************************************************
* ID3D12ProtectedResourceSession1 interface
*/
#ifndef __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
#define __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12ProtectedResourceSession1, 0xd6f12dd6, 0x76fb, 0x406e, 0x89,0x61, 0x42,0x96,0xee,0xfc,0x04,0x09);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d6f12dd6-76fb-406e-8961-4296eefc0409")
ID3D12ProtectedResourceSession1 : public ID3D12ProtectedResourceSession
{
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1* STDMETHODCALLTYPE GetDesc1(
D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *__ret) = 0;
D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1(
)
{
D3D12_PROTECTED_RESOURCE_SESSION_DESC1 __ret;
return *GetDesc1(&__ret);
}
#else
virtual D3D12_PROTECTED_RESOURCE_SESSION_DESC1 STDMETHODCALLTYPE GetDesc1(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12ProtectedResourceSession1, 0xd6f12dd6, 0x76fb, 0x406e, 0x89,0x61, 0x42,0x96,0xee,0xfc,0x04,0x09)
#endif
#else
typedef struct ID3D12ProtectedResourceSession1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12ProtectedResourceSession1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12ProtectedResourceSession1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12ProtectedResourceSession1 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12ProtectedResourceSession1 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12ProtectedResourceSession1 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12ProtectedResourceSession1 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12ProtectedResourceSession1 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12ProtectedResourceSession1 *This,
REFIID riid,
void **device);
/*** ID3D12ProtectedSession methods ***/
HRESULT (STDMETHODCALLTYPE *GetStatusFence)(
ID3D12ProtectedResourceSession1 *This,
REFIID riid,
void **fence);
D3D12_PROTECTED_SESSION_STATUS (STDMETHODCALLTYPE *GetSessionStatus)(
ID3D12ProtectedResourceSession1 *This);
/*** ID3D12ProtectedResourceSession methods ***/
D3D12_PROTECTED_RESOURCE_SESSION_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12ProtectedResourceSession1 *This,
D3D12_PROTECTED_RESOURCE_SESSION_DESC *__ret);
/*** ID3D12ProtectedResourceSession1 methods ***/
D3D12_PROTECTED_RESOURCE_SESSION_DESC1 * (STDMETHODCALLTYPE *GetDesc1)(
ID3D12ProtectedResourceSession1 *This,
D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *__ret);
END_INTERFACE
} ID3D12ProtectedResourceSession1Vtbl;
interface ID3D12ProtectedResourceSession1 {
CONST_VTBL ID3D12ProtectedResourceSession1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12ProtectedResourceSession1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12ProtectedResourceSession1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12ProtectedResourceSession1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12ProtectedResourceSession1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12ProtectedResourceSession1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12ProtectedResourceSession1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12ProtectedResourceSession1_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12ProtectedResourceSession1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12ProtectedSession methods ***/
#define ID3D12ProtectedResourceSession1_GetStatusFence(This,riid,fence) (This)->lpVtbl->GetStatusFence(This,riid,fence)
#define ID3D12ProtectedResourceSession1_GetSessionStatus(This) (This)->lpVtbl->GetSessionStatus(This)
/*** ID3D12ProtectedResourceSession methods ***/
#define ID3D12ProtectedResourceSession1_GetDesc(This) ID3D12ProtectedResourceSession1_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12ProtectedResourceSession1 methods ***/
#define ID3D12ProtectedResourceSession1_GetDesc1(This) ID3D12ProtectedResourceSession1_GetDesc1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_QueryInterface(ID3D12ProtectedResourceSession1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession1_AddRef(ID3D12ProtectedResourceSession1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12ProtectedResourceSession1_Release(ID3D12ProtectedResourceSession1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_GetPrivateData(ID3D12ProtectedResourceSession1* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_SetPrivateData(ID3D12ProtectedResourceSession1* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_SetPrivateDataInterface(ID3D12ProtectedResourceSession1* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_SetName(ID3D12ProtectedResourceSession1* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_GetDevice(ID3D12ProtectedResourceSession1* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12ProtectedSession methods ***/
static __WIDL_INLINE HRESULT ID3D12ProtectedResourceSession1_GetStatusFence(ID3D12ProtectedResourceSession1* This,REFIID riid,void **fence) {
return This->lpVtbl->GetStatusFence(This,riid,fence);
}
static __WIDL_INLINE D3D12_PROTECTED_SESSION_STATUS ID3D12ProtectedResourceSession1_GetSessionStatus(ID3D12ProtectedResourceSession1* This) {
return This->lpVtbl->GetSessionStatus(This);
}
/*** ID3D12ProtectedResourceSession methods ***/
static __WIDL_INLINE D3D12_PROTECTED_RESOURCE_SESSION_DESC ID3D12ProtectedResourceSession1_GetDesc(ID3D12ProtectedResourceSession1* This) {
D3D12_PROTECTED_RESOURCE_SESSION_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
/*** ID3D12ProtectedResourceSession1 methods ***/
static __WIDL_INLINE D3D12_PROTECTED_RESOURCE_SESSION_DESC1 ID3D12ProtectedResourceSession1_GetDesc1(ID3D12ProtectedResourceSession1* This) {
D3D12_PROTECTED_RESOURCE_SESSION_DESC1 __ret;
return *This->lpVtbl->GetDesc1(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12ProtectedResourceSession1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Device7 interface
*/
#ifndef __ID3D12Device7_INTERFACE_DEFINED__
#define __ID3D12Device7_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device7, 0x5c014b53, 0x68a1, 0x4b9b, 0x8b,0xd1, 0xdd,0x60,0x46,0xb9,0x35,0x8b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5c014b53-68a1-4b9b-8bd1-dd6046b9358b")
ID3D12Device7 : public ID3D12Device6
{
virtual HRESULT STDMETHODCALLTYPE AddToStateObject(
const D3D12_STATE_OBJECT_DESC *addition,
ID3D12StateObject *state_object_to_grow_from,
REFIID riid,
void **new_state_object) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateProtectedResourceSession1(
const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,
REFIID riid,
void **session) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device7, 0x5c014b53, 0x68a1, 0x4b9b, 0x8b,0xd1, 0xdd,0x60,0x46,0xb9,0x35,0x8b)
#endif
#else
typedef struct ID3D12Device7Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device7 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device7 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device7 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device7 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device7 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device7 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device7 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device7 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device7 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device7 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device7 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device7 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device7 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device7 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device7 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device7 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device7 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device7 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device7 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device7 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device7 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device7 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device7 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device7 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device7 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device7 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device7 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device7 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device7 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device7 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device7 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device7 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device7 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device7 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device7 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device7 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device7 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device7 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device7 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device7 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device7 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device7 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device7 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device7 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device7 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device7 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device7 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device7 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device7 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device7 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device7 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
/*** ID3D12Device4 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommandList1)(
ID3D12Device7 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)(
ID3D12Device7 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)(
ID3D12Device7 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap1)(
ID3D12Device7 *This,
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)(
ID3D12Device7 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)(
ID3D12Device7 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
/*** ID3D12Device5 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)(
ID3D12Device7 *This,
ID3D12LifetimeOwner *owner,
REFIID riid,
void **tracker);
void (STDMETHODCALLTYPE *RemoveDevice)(
ID3D12Device7 *This);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)(
ID3D12Device7 *This,
UINT *meta_commands_count,
D3D12_META_COMMAND_DESC *descs);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)(
ID3D12Device7 *This,
REFGUID command_id,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *total_structure_size_in_bytes,
UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs);
HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)(
ID3D12Device7 *This,
REFGUID command_id,
UINT node_mask,
const void *creation_parameters_data,
SIZE_T creation_parameters_data_size_in_bytes,
REFIID riid,
void **meta_command);
HRESULT (STDMETHODCALLTYPE *CreateStateObject)(
ID3D12Device7 *This,
const D3D12_STATE_OBJECT_DESC *desc,
REFIID riid,
void **state_object);
void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)(
ID3D12Device7 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info);
D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)(
ID3D12Device7 *This,
D3D12_SERIALIZED_DATA_TYPE serialized_data_type,
const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check);
/*** ID3D12Device6 methods ***/
HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)(
ID3D12Device7 *This,
D3D12_BACKGROUND_PROCESSING_MODE mode,
D3D12_MEASUREMENTS_ACTION action,
HANDLE event,
WINBOOL *further_measurements_desired);
/*** ID3D12Device7 methods ***/
HRESULT (STDMETHODCALLTYPE *AddToStateObject)(
ID3D12Device7 *This,
const D3D12_STATE_OBJECT_DESC *addition,
ID3D12StateObject *state_object_to_grow_from,
REFIID riid,
void **new_state_object);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)(
ID3D12Device7 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,
REFIID riid,
void **session);
END_INTERFACE
} ID3D12Device7Vtbl;
interface ID3D12Device7 {
CONST_VTBL ID3D12Device7Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device7_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device7_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device7_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device7_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device7_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device7_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device7_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device7_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device7_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device7_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device7_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device7_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device7_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device7_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device7_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device7_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device7_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device7_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device7_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device7_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device7_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device7_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device7_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device7_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device7_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device7_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device7_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device7_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device7_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device7_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device7_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device7_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device7_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device7_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device7_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device7_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device7_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device7_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device7_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device7_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device7_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device7_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device7_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device7_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device7_GetAdapterLuid(This) ID3D12Device7_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device7_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device7_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device7_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device7_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device7_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device7_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device7_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
/*** ID3D12Device4 methods ***/
#define ID3D12Device7_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list)
#define ID3D12Device7_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session)
#define ID3D12Device7_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device7_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap)
#define ID3D12Device7_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource)
#define ID3D12Device7_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device7_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device5 methods ***/
#define ID3D12Device7_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker)
#define ID3D12Device7_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This)
#define ID3D12Device7_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs)
#define ID3D12Device7_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs)
#define ID3D12Device7_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command)
#define ID3D12Device7_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object)
#define ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info)
#define ID3D12Device7_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check)
/*** ID3D12Device6 methods ***/
#define ID3D12Device7_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired)
/*** ID3D12Device7 methods ***/
#define ID3D12Device7_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object)
#define ID3D12Device7_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_QueryInterface(ID3D12Device7* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device7_AddRef(ID3D12Device7* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device7_Release(ID3D12Device7* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_GetPrivateData(ID3D12Device7* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device7_SetPrivateData(ID3D12Device7* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device7_SetPrivateDataInterface(ID3D12Device7* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device7_SetName(ID3D12Device7* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device7_GetNodeCount(ID3D12Device7* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandQueue(ID3D12Device7* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandAllocator(ID3D12Device7* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateGraphicsPipelineState(ID3D12Device7* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateComputePipelineState(ID3D12Device7* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandList(ID3D12Device7* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CheckFeatureSupport(ID3D12Device7* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateDescriptorHeap(ID3D12Device7* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device7_GetDescriptorHandleIncrementSize(ID3D12Device7* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateRootSignature(ID3D12Device7* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device7_CreateConstantBufferView(ID3D12Device7* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device7_CreateShaderResourceView(ID3D12Device7* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device7_CreateUnorderedAccessView(ID3D12Device7* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device7_CreateRenderTargetView(ID3D12Device7* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device7_CreateDepthStencilView(ID3D12Device7* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device7_CreateSampler(ID3D12Device7* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device7_CopyDescriptors(ID3D12Device7* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device7_CopyDescriptorsSimple(ID3D12Device7* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device7_GetResourceAllocationInfo(ID3D12Device7* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device7_GetCustomHeapProperties(ID3D12Device7* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommittedResource(ID3D12Device7* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateHeap(ID3D12Device7* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreatePlacedResource(ID3D12Device7* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateReservedResource(ID3D12Device7* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateSharedHandle(ID3D12Device7* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device7_OpenSharedHandle(ID3D12Device7* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device7_OpenSharedHandleByName(ID3D12Device7* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device7_MakeResident(ID3D12Device7* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device7_Evict(ID3D12Device7* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateFence(ID3D12Device7* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device7_GetDeviceRemovedReason(ID3D12Device7* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device7_GetCopyableFootprints(ID3D12Device7* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateQueryHeap(ID3D12Device7* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device7_SetStablePowerState(ID3D12Device7* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandSignature(ID3D12Device7* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device7_GetResourceTiling(ID3D12Device7* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device7_GetAdapterLuid(ID3D12Device7* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_CreatePipelineLibrary(ID3D12Device7* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device7_SetEventOnMultipleFenceCompletion(ID3D12Device7* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device7_SetResidencyPriority(ID3D12Device7* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_CreatePipelineState(ID3D12Device7* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_OpenExistingHeapFromAddress(ID3D12Device7* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device7_OpenExistingHeapFromFileMapping(ID3D12Device7* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device7_EnqueueMakeResident(ID3D12Device7* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
/*** ID3D12Device4 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommandList1(ID3D12Device7* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateProtectedResourceSession(ID3D12Device7* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateCommittedResource1(ID3D12Device7* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateHeap1(ID3D12Device7* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateReservedResource1(ID3D12Device7* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device7_GetResourceAllocationInfo1(ID3D12Device7* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
/*** ID3D12Device5 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_CreateLifetimeTracker(ID3D12Device7* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) {
return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker);
}
static __WIDL_INLINE void ID3D12Device7_RemoveDevice(ID3D12Device7* This) {
This->lpVtbl->RemoveDevice(This);
}
static __WIDL_INLINE HRESULT ID3D12Device7_EnumerateMetaCommands(ID3D12Device7* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) {
return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs);
}
static __WIDL_INLINE HRESULT ID3D12Device7_EnumerateMetaCommandParameters(ID3D12Device7* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) {
return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateMetaCommand(ID3D12Device7* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) {
return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateStateObject(ID3D12Device7* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) {
return This->lpVtbl->CreateStateObject(This,desc,riid,state_object);
}
static __WIDL_INLINE void ID3D12Device7_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device7* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) {
This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info);
}
static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device7_CheckDriverMatchingIdentifier(ID3D12Device7* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) {
return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check);
}
/*** ID3D12Device6 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_SetBackgroundProcessingMode(ID3D12Device7* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) {
return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired);
}
/*** ID3D12Device7 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device7_AddToStateObject(ID3D12Device7* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) {
return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object);
}
static __WIDL_INLINE HRESULT ID3D12Device7_CreateProtectedResourceSession1(ID3D12Device7* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session);
}
#endif
#endif
#endif
#endif /* __ID3D12Device7_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Device8 interface
*/
#ifndef __ID3D12Device8_INTERFACE_DEFINED__
#define __ID3D12Device8_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device8, 0x9218e6bb, 0xf944, 0x4f7e, 0xa7,0x5c, 0xb1,0xb2,0xc7,0xb7,0x01,0xf3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9218e6bb-f944-4f7e-a75c-b1b2c7b701f3")
ID3D12Device8 : public ID3D12Device7
{
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_RESOURCE_ALLOCATION_INFO* STDMETHODCALLTYPE GetResourceAllocationInfo2(
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC1 *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0;
D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2(
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC1 *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1)
{
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *GetResourceAllocationInfo2(&__ret, visible_mask, resource_descs_count, resource_descs, resource_allocation_info1);
}
#else
virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo2(
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC1 *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) = 0;
#endif
virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource2(
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource) = 0;
virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource1(
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource) = 0;
virtual void STDMETHODCALLTYPE CreateSamplerFeedbackUnorderedAccessView(
ID3D12Resource *targeted_resource,
ID3D12Resource *feedback_resource,
D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) = 0;
virtual void STDMETHODCALLTYPE GetCopyableFootprints1(
const D3D12_RESOURCE_DESC1 *resource_desc,
UINT first_subresource,
UINT subresources_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *rows_count,
UINT64 *row_size_in_bytes,
UINT64 *total_bytes) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device8, 0x9218e6bb, 0xf944, 0x4f7e, 0xa7,0x5c, 0xb1,0xb2,0xc7,0xb7,0x01,0xf3)
#endif
#else
typedef struct ID3D12Device8Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device8 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device8 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device8 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device8 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device8 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device8 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device8 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device8 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device8 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device8 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device8 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device8 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device8 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device8 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device8 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device8 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device8 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device8 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device8 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device8 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device8 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device8 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device8 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device8 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device8 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device8 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device8 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device8 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device8 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device8 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device8 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device8 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device8 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device8 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device8 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device8 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device8 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device8 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device8 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device8 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device8 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device8 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device8 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device8 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device8 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device8 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device8 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device8 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device8 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device8 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device8 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
/*** ID3D12Device4 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommandList1)(
ID3D12Device8 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)(
ID3D12Device8 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)(
ID3D12Device8 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap1)(
ID3D12Device8 *This,
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)(
ID3D12Device8 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)(
ID3D12Device8 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
/*** ID3D12Device5 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)(
ID3D12Device8 *This,
ID3D12LifetimeOwner *owner,
REFIID riid,
void **tracker);
void (STDMETHODCALLTYPE *RemoveDevice)(
ID3D12Device8 *This);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)(
ID3D12Device8 *This,
UINT *meta_commands_count,
D3D12_META_COMMAND_DESC *descs);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)(
ID3D12Device8 *This,
REFGUID command_id,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *total_structure_size_in_bytes,
UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs);
HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)(
ID3D12Device8 *This,
REFGUID command_id,
UINT node_mask,
const void *creation_parameters_data,
SIZE_T creation_parameters_data_size_in_bytes,
REFIID riid,
void **meta_command);
HRESULT (STDMETHODCALLTYPE *CreateStateObject)(
ID3D12Device8 *This,
const D3D12_STATE_OBJECT_DESC *desc,
REFIID riid,
void **state_object);
void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)(
ID3D12Device8 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info);
D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)(
ID3D12Device8 *This,
D3D12_SERIALIZED_DATA_TYPE serialized_data_type,
const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check);
/*** ID3D12Device6 methods ***/
HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)(
ID3D12Device8 *This,
D3D12_BACKGROUND_PROCESSING_MODE mode,
D3D12_MEASUREMENTS_ACTION action,
HANDLE event,
WINBOOL *further_measurements_desired);
/*** ID3D12Device7 methods ***/
HRESULT (STDMETHODCALLTYPE *AddToStateObject)(
ID3D12Device8 *This,
const D3D12_STATE_OBJECT_DESC *addition,
ID3D12StateObject *state_object_to_grow_from,
REFIID riid,
void **new_state_object);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)(
ID3D12Device8 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,
REFIID riid,
void **session);
/*** ID3D12Device8 methods ***/
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo2)(
ID3D12Device8 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC1 *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource2)(
ID3D12Device8 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource1)(
ID3D12Device8 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
void (STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView)(
ID3D12Device8 *This,
ID3D12Resource *targeted_resource,
ID3D12Resource *feedback_resource,
D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor);
void (STDMETHODCALLTYPE *GetCopyableFootprints1)(
ID3D12Device8 *This,
const D3D12_RESOURCE_DESC1 *resource_desc,
UINT first_subresource,
UINT subresources_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *rows_count,
UINT64 *row_size_in_bytes,
UINT64 *total_bytes);
END_INTERFACE
} ID3D12Device8Vtbl;
interface ID3D12Device8 {
CONST_VTBL ID3D12Device8Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device8_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device8_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device8_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device8_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device8_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device8_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device8_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device8_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device8_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device8_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device8_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device8_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device8_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device8_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device8_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device8_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device8_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device8_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device8_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device8_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device8_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device8_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device8_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device8_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device8_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device8_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device8_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device8_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device8_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device8_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device8_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device8_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device8_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device8_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device8_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device8_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device8_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device8_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device8_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device8_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device8_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device8_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device8_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device8_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device8_GetAdapterLuid(This) ID3D12Device8_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device8_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device8_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device8_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device8_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device8_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device8_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device8_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
/*** ID3D12Device4 methods ***/
#define ID3D12Device8_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list)
#define ID3D12Device8_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session)
#define ID3D12Device8_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device8_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap)
#define ID3D12Device8_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource)
#define ID3D12Device8_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device8_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device5 methods ***/
#define ID3D12Device8_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker)
#define ID3D12Device8_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This)
#define ID3D12Device8_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs)
#define ID3D12Device8_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs)
#define ID3D12Device8_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command)
#define ID3D12Device8_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object)
#define ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info)
#define ID3D12Device8_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check)
/*** ID3D12Device6 methods ***/
#define ID3D12Device8_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired)
/*** ID3D12Device7 methods ***/
#define ID3D12Device8_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object)
#define ID3D12Device8_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session)
/*** ID3D12Device8 methods ***/
#define ID3D12Device8_GetResourceAllocationInfo2(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device8_GetResourceAllocationInfo2_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device8_CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device8_CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) (This)->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor)
#define ID3D12Device8_GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) (This)->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_QueryInterface(ID3D12Device8* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device8_AddRef(ID3D12Device8* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device8_Release(ID3D12Device8* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_GetPrivateData(ID3D12Device8* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device8_SetPrivateData(ID3D12Device8* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device8_SetPrivateDataInterface(ID3D12Device8* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device8_SetName(ID3D12Device8* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device8_GetNodeCount(ID3D12Device8* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandQueue(ID3D12Device8* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandAllocator(ID3D12Device8* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateGraphicsPipelineState(ID3D12Device8* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateComputePipelineState(ID3D12Device8* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandList(ID3D12Device8* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CheckFeatureSupport(ID3D12Device8* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateDescriptorHeap(ID3D12Device8* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device8_GetDescriptorHandleIncrementSize(ID3D12Device8* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateRootSignature(ID3D12Device8* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device8_CreateConstantBufferView(ID3D12Device8* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device8_CreateShaderResourceView(ID3D12Device8* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device8_CreateUnorderedAccessView(ID3D12Device8* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device8_CreateRenderTargetView(ID3D12Device8* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device8_CreateDepthStencilView(ID3D12Device8* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device8_CreateSampler(ID3D12Device8* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device8_CopyDescriptors(ID3D12Device8* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device8_CopyDescriptorsSimple(ID3D12Device8* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device8_GetResourceAllocationInfo(ID3D12Device8* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device8_GetCustomHeapProperties(ID3D12Device8* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommittedResource(ID3D12Device8* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateHeap(ID3D12Device8* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreatePlacedResource(ID3D12Device8* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateReservedResource(ID3D12Device8* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateSharedHandle(ID3D12Device8* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device8_OpenSharedHandle(ID3D12Device8* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device8_OpenSharedHandleByName(ID3D12Device8* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device8_MakeResident(ID3D12Device8* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device8_Evict(ID3D12Device8* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateFence(ID3D12Device8* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device8_GetDeviceRemovedReason(ID3D12Device8* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device8_GetCopyableFootprints(ID3D12Device8* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateQueryHeap(ID3D12Device8* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device8_SetStablePowerState(ID3D12Device8* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandSignature(ID3D12Device8* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device8_GetResourceTiling(ID3D12Device8* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device8_GetAdapterLuid(ID3D12Device8* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_CreatePipelineLibrary(ID3D12Device8* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device8_SetEventOnMultipleFenceCompletion(ID3D12Device8* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device8_SetResidencyPriority(ID3D12Device8* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_CreatePipelineState(ID3D12Device8* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_OpenExistingHeapFromAddress(ID3D12Device8* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device8_OpenExistingHeapFromFileMapping(ID3D12Device8* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device8_EnqueueMakeResident(ID3D12Device8* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
/*** ID3D12Device4 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommandList1(ID3D12Device8* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateProtectedResourceSession(ID3D12Device8* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommittedResource1(ID3D12Device8* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateHeap1(ID3D12Device8* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateReservedResource1(ID3D12Device8* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device8_GetResourceAllocationInfo1(ID3D12Device8* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
/*** ID3D12Device5 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_CreateLifetimeTracker(ID3D12Device8* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) {
return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker);
}
static __WIDL_INLINE void ID3D12Device8_RemoveDevice(ID3D12Device8* This) {
This->lpVtbl->RemoveDevice(This);
}
static __WIDL_INLINE HRESULT ID3D12Device8_EnumerateMetaCommands(ID3D12Device8* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) {
return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs);
}
static __WIDL_INLINE HRESULT ID3D12Device8_EnumerateMetaCommandParameters(ID3D12Device8* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) {
return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateMetaCommand(ID3D12Device8* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) {
return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateStateObject(ID3D12Device8* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) {
return This->lpVtbl->CreateStateObject(This,desc,riid,state_object);
}
static __WIDL_INLINE void ID3D12Device8_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device8* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) {
This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info);
}
static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device8_CheckDriverMatchingIdentifier(ID3D12Device8* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) {
return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check);
}
/*** ID3D12Device6 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_SetBackgroundProcessingMode(ID3D12Device8* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) {
return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired);
}
/*** ID3D12Device7 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device8_AddToStateObject(ID3D12Device8* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) {
return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateProtectedResourceSession1(ID3D12Device8* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session);
}
/*** ID3D12Device8 methods ***/
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device8_GetResourceAllocationInfo2(ID3D12Device8* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC1 *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo2(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreateCommittedResource2(ID3D12Device8* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device8_CreatePlacedResource1(ID3D12Device8* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE void ID3D12Device8_CreateSamplerFeedbackUnorderedAccessView(ID3D12Device8* This,ID3D12Resource *targeted_resource,ID3D12Resource *feedback_resource,D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) {
This->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor);
}
static __WIDL_INLINE void ID3D12Device8_GetCopyableFootprints1(ID3D12Device8* This,const D3D12_RESOURCE_DESC1 *resource_desc,UINT first_subresource,UINT subresources_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *rows_count,UINT64 *row_size_in_bytes,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes);
}
#endif
#endif
#endif
#endif /* __ID3D12Device8_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Resource1 interface
*/
#ifndef __ID3D12Resource1_INTERFACE_DEFINED__
#define __ID3D12Resource1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Resource1, 0x9d5e227a, 0x4430, 0x4161, 0x88,0xb3, 0x3e,0xca,0x6b,0xb1,0x6e,0x19);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9d5e227a-4430-4161-88b3-3eca6bb16e19")
ID3D12Resource1 : public ID3D12Resource
{
virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
REFIID riid,
void **protected_session) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Resource1, 0x9d5e227a, 0x4430, 0x4161, 0x88,0xb3, 0x3e,0xca,0x6b,0xb1,0x6e,0x19)
#endif
#else
typedef struct ID3D12Resource1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Resource1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Resource1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Resource1 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Resource1 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Resource1 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Resource1 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Resource1 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Resource1 *This,
REFIID riid,
void **device);
/*** ID3D12Resource methods ***/
HRESULT (STDMETHODCALLTYPE *Map)(
ID3D12Resource1 *This,
UINT sub_resource,
const D3D12_RANGE *read_range,
void **data);
void (STDMETHODCALLTYPE *Unmap)(
ID3D12Resource1 *This,
UINT sub_resource,
const D3D12_RANGE *written_range);
D3D12_RESOURCE_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12Resource1 *This,
D3D12_RESOURCE_DESC *__ret);
D3D12_GPU_VIRTUAL_ADDRESS (STDMETHODCALLTYPE *GetGPUVirtualAddress)(
ID3D12Resource1 *This);
HRESULT (STDMETHODCALLTYPE *WriteToSubresource)(
ID3D12Resource1 *This,
UINT dst_sub_resource,
const D3D12_BOX *dst_box,
const void *src_data,
UINT src_row_pitch,
UINT src_slice_pitch);
HRESULT (STDMETHODCALLTYPE *ReadFromSubresource)(
ID3D12Resource1 *This,
void *dst_data,
UINT dst_row_pitch,
UINT dst_slice_pitch,
UINT src_sub_resource,
const D3D12_BOX *src_box);
HRESULT (STDMETHODCALLTYPE *GetHeapProperties)(
ID3D12Resource1 *This,
D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS *flags);
/*** ID3D12Resource1 methods ***/
HRESULT (STDMETHODCALLTYPE *GetProtectedResourceSession)(
ID3D12Resource1 *This,
REFIID riid,
void **protected_session);
END_INTERFACE
} ID3D12Resource1Vtbl;
interface ID3D12Resource1 {
CONST_VTBL ID3D12Resource1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Resource1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Resource1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Resource1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Resource1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Resource1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Resource1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Resource1_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Resource1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12Resource methods ***/
#define ID3D12Resource1_Map(This,sub_resource,read_range,data) (This)->lpVtbl->Map(This,sub_resource,read_range,data)
#define ID3D12Resource1_Unmap(This,sub_resource,written_range) (This)->lpVtbl->Unmap(This,sub_resource,written_range)
#define ID3D12Resource1_GetDesc(This) ID3D12Resource1_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Resource1_GetGPUVirtualAddress(This) (This)->lpVtbl->GetGPUVirtualAddress(This)
#define ID3D12Resource1_WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch) (This)->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch)
#define ID3D12Resource1_ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box) (This)->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box)
#define ID3D12Resource1_GetHeapProperties(This,heap_properties,flags) (This)->lpVtbl->GetHeapProperties(This,heap_properties,flags)
/*** ID3D12Resource1 methods ***/
#define ID3D12Resource1_GetProtectedResourceSession(This,riid,protected_session) (This)->lpVtbl->GetProtectedResourceSession(This,riid,protected_session)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource1_QueryInterface(ID3D12Resource1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Resource1_AddRef(ID3D12Resource1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Resource1_Release(ID3D12Resource1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource1_GetPrivateData(ID3D12Resource1* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource1_SetPrivateData(ID3D12Resource1* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource1_SetPrivateDataInterface(ID3D12Resource1* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource1_SetName(ID3D12Resource1* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource1_GetDevice(ID3D12Resource1* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12Resource methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource1_Map(ID3D12Resource1* This,UINT sub_resource,const D3D12_RANGE *read_range,void **data) {
return This->lpVtbl->Map(This,sub_resource,read_range,data);
}
static __WIDL_INLINE void ID3D12Resource1_Unmap(ID3D12Resource1* This,UINT sub_resource,const D3D12_RANGE *written_range) {
This->lpVtbl->Unmap(This,sub_resource,written_range);
}
static __WIDL_INLINE D3D12_RESOURCE_DESC ID3D12Resource1_GetDesc(ID3D12Resource1* This) {
D3D12_RESOURCE_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
static __WIDL_INLINE D3D12_GPU_VIRTUAL_ADDRESS ID3D12Resource1_GetGPUVirtualAddress(ID3D12Resource1* This) {
return This->lpVtbl->GetGPUVirtualAddress(This);
}
static __WIDL_INLINE HRESULT ID3D12Resource1_WriteToSubresource(ID3D12Resource1* This,UINT dst_sub_resource,const D3D12_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_slice_pitch) {
return This->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch);
}
static __WIDL_INLINE HRESULT ID3D12Resource1_ReadFromSubresource(ID3D12Resource1* This,void *dst_data,UINT dst_row_pitch,UINT dst_slice_pitch,UINT src_sub_resource,const D3D12_BOX *src_box) {
return This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box);
}
static __WIDL_INLINE HRESULT ID3D12Resource1_GetHeapProperties(ID3D12Resource1* This,D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS *flags) {
return This->lpVtbl->GetHeapProperties(This,heap_properties,flags);
}
/*** ID3D12Resource1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource1_GetProtectedResourceSession(ID3D12Resource1* This,REFIID riid,void **protected_session) {
return This->lpVtbl->GetProtectedResourceSession(This,riid,protected_session);
}
#endif
#endif
#endif
#endif /* __ID3D12Resource1_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Resource2 interface
*/
#ifndef __ID3D12Resource2_INTERFACE_DEFINED__
#define __ID3D12Resource2_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Resource2, 0xbe36ec3b, 0xea85, 0x4aeb, 0xa4,0x5a, 0xe9,0xd7,0x64,0x04,0xa4,0x95);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("be36ec3b-ea85-4aeb-a45a-e9d76404a495")
ID3D12Resource2 : public ID3D12Resource1
{
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_RESOURCE_DESC1* STDMETHODCALLTYPE GetDesc1(
D3D12_RESOURCE_DESC1 *__ret) = 0;
D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1(
)
{
D3D12_RESOURCE_DESC1 __ret;
return *GetDesc1(&__ret);
}
#else
virtual D3D12_RESOURCE_DESC1 STDMETHODCALLTYPE GetDesc1(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Resource2, 0xbe36ec3b, 0xea85, 0x4aeb, 0xa4,0x5a, 0xe9,0xd7,0x64,0x04,0xa4,0x95)
#endif
#else
typedef struct ID3D12Resource2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Resource2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Resource2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Resource2 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Resource2 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Resource2 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Resource2 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Resource2 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Resource2 *This,
REFIID riid,
void **device);
/*** ID3D12Resource methods ***/
HRESULT (STDMETHODCALLTYPE *Map)(
ID3D12Resource2 *This,
UINT sub_resource,
const D3D12_RANGE *read_range,
void **data);
void (STDMETHODCALLTYPE *Unmap)(
ID3D12Resource2 *This,
UINT sub_resource,
const D3D12_RANGE *written_range);
D3D12_RESOURCE_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12Resource2 *This,
D3D12_RESOURCE_DESC *__ret);
D3D12_GPU_VIRTUAL_ADDRESS (STDMETHODCALLTYPE *GetGPUVirtualAddress)(
ID3D12Resource2 *This);
HRESULT (STDMETHODCALLTYPE *WriteToSubresource)(
ID3D12Resource2 *This,
UINT dst_sub_resource,
const D3D12_BOX *dst_box,
const void *src_data,
UINT src_row_pitch,
UINT src_slice_pitch);
HRESULT (STDMETHODCALLTYPE *ReadFromSubresource)(
ID3D12Resource2 *This,
void *dst_data,
UINT dst_row_pitch,
UINT dst_slice_pitch,
UINT src_sub_resource,
const D3D12_BOX *src_box);
HRESULT (STDMETHODCALLTYPE *GetHeapProperties)(
ID3D12Resource2 *This,
D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS *flags);
/*** ID3D12Resource1 methods ***/
HRESULT (STDMETHODCALLTYPE *GetProtectedResourceSession)(
ID3D12Resource2 *This,
REFIID riid,
void **protected_session);
/*** ID3D12Resource2 methods ***/
D3D12_RESOURCE_DESC1 * (STDMETHODCALLTYPE *GetDesc1)(
ID3D12Resource2 *This,
D3D12_RESOURCE_DESC1 *__ret);
END_INTERFACE
} ID3D12Resource2Vtbl;
interface ID3D12Resource2 {
CONST_VTBL ID3D12Resource2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Resource2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Resource2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Resource2_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Resource2_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Resource2_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Resource2_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Resource2_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Resource2_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12Resource methods ***/
#define ID3D12Resource2_Map(This,sub_resource,read_range,data) (This)->lpVtbl->Map(This,sub_resource,read_range,data)
#define ID3D12Resource2_Unmap(This,sub_resource,written_range) (This)->lpVtbl->Unmap(This,sub_resource,written_range)
#define ID3D12Resource2_GetDesc(This) ID3D12Resource2_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Resource2_GetGPUVirtualAddress(This) (This)->lpVtbl->GetGPUVirtualAddress(This)
#define ID3D12Resource2_WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch) (This)->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch)
#define ID3D12Resource2_ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box) (This)->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box)
#define ID3D12Resource2_GetHeapProperties(This,heap_properties,flags) (This)->lpVtbl->GetHeapProperties(This,heap_properties,flags)
/*** ID3D12Resource1 methods ***/
#define ID3D12Resource2_GetProtectedResourceSession(This,riid,protected_session) (This)->lpVtbl->GetProtectedResourceSession(This,riid,protected_session)
/*** ID3D12Resource2 methods ***/
#define ID3D12Resource2_GetDesc1(This) ID3D12Resource2_GetDesc1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource2_QueryInterface(ID3D12Resource2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Resource2_AddRef(ID3D12Resource2* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Resource2_Release(ID3D12Resource2* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource2_GetPrivateData(ID3D12Resource2* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource2_SetPrivateData(ID3D12Resource2* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource2_SetPrivateDataInterface(ID3D12Resource2* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Resource2_SetName(ID3D12Resource2* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource2_GetDevice(ID3D12Resource2* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12Resource methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource2_Map(ID3D12Resource2* This,UINT sub_resource,const D3D12_RANGE *read_range,void **data) {
return This->lpVtbl->Map(This,sub_resource,read_range,data);
}
static __WIDL_INLINE void ID3D12Resource2_Unmap(ID3D12Resource2* This,UINT sub_resource,const D3D12_RANGE *written_range) {
This->lpVtbl->Unmap(This,sub_resource,written_range);
}
static __WIDL_INLINE D3D12_RESOURCE_DESC ID3D12Resource2_GetDesc(ID3D12Resource2* This) {
D3D12_RESOURCE_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
static __WIDL_INLINE D3D12_GPU_VIRTUAL_ADDRESS ID3D12Resource2_GetGPUVirtualAddress(ID3D12Resource2* This) {
return This->lpVtbl->GetGPUVirtualAddress(This);
}
static __WIDL_INLINE HRESULT ID3D12Resource2_WriteToSubresource(ID3D12Resource2* This,UINT dst_sub_resource,const D3D12_BOX *dst_box,const void *src_data,UINT src_row_pitch,UINT src_slice_pitch) {
return This->lpVtbl->WriteToSubresource(This,dst_sub_resource,dst_box,src_data,src_row_pitch,src_slice_pitch);
}
static __WIDL_INLINE HRESULT ID3D12Resource2_ReadFromSubresource(ID3D12Resource2* This,void *dst_data,UINT dst_row_pitch,UINT dst_slice_pitch,UINT src_sub_resource,const D3D12_BOX *src_box) {
return This->lpVtbl->ReadFromSubresource(This,dst_data,dst_row_pitch,dst_slice_pitch,src_sub_resource,src_box);
}
static __WIDL_INLINE HRESULT ID3D12Resource2_GetHeapProperties(ID3D12Resource2* This,D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS *flags) {
return This->lpVtbl->GetHeapProperties(This,heap_properties,flags);
}
/*** ID3D12Resource1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Resource2_GetProtectedResourceSession(ID3D12Resource2* This,REFIID riid,void **protected_session) {
return This->lpVtbl->GetProtectedResourceSession(This,riid,protected_session);
}
/*** ID3D12Resource2 methods ***/
static __WIDL_INLINE D3D12_RESOURCE_DESC1 ID3D12Resource2_GetDesc1(ID3D12Resource2* This) {
D3D12_RESOURCE_DESC1 __ret;
return *This->lpVtbl->GetDesc1(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12Resource2_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Heap1 interface
*/
#ifndef __ID3D12Heap1_INTERFACE_DEFINED__
#define __ID3D12Heap1_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Heap1, 0x572f7389, 0x2168, 0x49e3, 0x96,0x93, 0xd6,0xdf,0x58,0x71,0xbf,0x6d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("572f7389-2168-49e3-9693-d6df5871bf6d")
ID3D12Heap1 : public ID3D12Heap
{
virtual HRESULT STDMETHODCALLTYPE GetProtectedResourceSession(
REFIID riid,
void **protected_session) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Heap1, 0x572f7389, 0x2168, 0x49e3, 0x96,0x93, 0xd6,0xdf,0x58,0x71,0xbf,0x6d)
#endif
#else
typedef struct ID3D12Heap1Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Heap1 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Heap1 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Heap1 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Heap1 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Heap1 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Heap1 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Heap1 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12Heap1 *This,
REFIID riid,
void **device);
/*** ID3D12Heap methods ***/
D3D12_HEAP_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12Heap1 *This,
D3D12_HEAP_DESC *__ret);
/*** ID3D12Heap1 methods ***/
HRESULT (STDMETHODCALLTYPE *GetProtectedResourceSession)(
ID3D12Heap1 *This,
REFIID riid,
void **protected_session);
END_INTERFACE
} ID3D12Heap1Vtbl;
interface ID3D12Heap1 {
CONST_VTBL ID3D12Heap1Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Heap1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Heap1_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Heap1_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Heap1_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Heap1_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Heap1_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Heap1_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12Heap1_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12Heap methods ***/
#define ID3D12Heap1_GetDesc(This) ID3D12Heap1_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Heap1 methods ***/
#define ID3D12Heap1_GetProtectedResourceSession(This,riid,protected_session) (This)->lpVtbl->GetProtectedResourceSession(This,riid,protected_session)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Heap1_QueryInterface(ID3D12Heap1* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Heap1_AddRef(ID3D12Heap1* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Heap1_Release(ID3D12Heap1* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Heap1_GetPrivateData(ID3D12Heap1* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Heap1_SetPrivateData(ID3D12Heap1* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Heap1_SetPrivateDataInterface(ID3D12Heap1* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Heap1_SetName(ID3D12Heap1* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12Heap1_GetDevice(ID3D12Heap1* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12Heap methods ***/
static __WIDL_INLINE D3D12_HEAP_DESC ID3D12Heap1_GetDesc(ID3D12Heap1* This) {
D3D12_HEAP_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
/*** ID3D12Heap1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Heap1_GetProtectedResourceSession(ID3D12Heap1* This,REFIID riid,void **protected_session) {
return This->lpVtbl->GetProtectedResourceSession(This,riid,protected_session);
}
#endif
#endif
#endif
#endif /* __ID3D12Heap1_INTERFACE_DEFINED__ */
typedef enum D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE {
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_DISCARD = 0x0,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_PRESERVE = 0x1,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_CLEAR = 0x2,
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE_NO_ACCESS = 0x3
} D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE;
typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS {
D3D12_CLEAR_VALUE ClearValue;
} D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS;
typedef struct D3D12_RENDER_PASS_BEGINNING_ACCESS {
D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Type;
__C89_NAMELESS union {
D3D12_RENDER_PASS_BEGINNING_ACCESS_CLEAR_PARAMETERS Clear;
} __C89_NAMELESSUNIONNAME;
} D3D12_RENDER_PASS_BEGINNING_ACCESS;
typedef enum D3D12_RENDER_PASS_ENDING_ACCESS_TYPE {
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_DISCARD = 0x0,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_PRESERVE = 0x1,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_RESOLVE = 0x2,
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE_NO_ACCESS = 0x3
} D3D12_RENDER_PASS_ENDING_ACCESS_TYPE;
typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS {
UINT SrcSubresource;
UINT DstSubresource;
UINT DstX;
UINT DstY;
D3D12_RECT SrcRect;
} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS;
typedef struct D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS {
ID3D12Resource *pSrcResource;
ID3D12Resource *pDstResource;
UINT SubresourceCount;
const D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_SUBRESOURCE_PARAMETERS *pSubresourceParameters;
DXGI_FORMAT Format;
D3D12_RESOLVE_MODE ResolveMode;
WINBOOL PreserveResolveSource;
} D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS;
typedef struct D3D12_RENDER_PASS_ENDING_ACCESS {
D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Type;
__C89_NAMELESS union {
D3D12_RENDER_PASS_ENDING_ACCESS_RESOLVE_PARAMETERS Resolve;
} __C89_NAMELESSUNIONNAME;
} D3D12_RENDER_PASS_ENDING_ACCESS;
typedef struct D3D12_RENDER_PASS_RENDER_TARGET_DESC {
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
D3D12_RENDER_PASS_BEGINNING_ACCESS BeginningAccess;
D3D12_RENDER_PASS_ENDING_ACCESS EndingAccess;
} D3D12_RENDER_PASS_RENDER_TARGET_DESC;
typedef struct D3D12_RENDER_PASS_DEPTH_STENCIL_DESC {
D3D12_CPU_DESCRIPTOR_HANDLE cpuDescriptor;
D3D12_RENDER_PASS_BEGINNING_ACCESS DepthBeginningAccess;
D3D12_RENDER_PASS_BEGINNING_ACCESS StencilBeginningAccess;
D3D12_RENDER_PASS_ENDING_ACCESS DepthEndingAccess;
D3D12_RENDER_PASS_ENDING_ACCESS StencilEndingAccess;
} D3D12_RENDER_PASS_DEPTH_STENCIL_DESC;
typedef enum D3D12_RENDER_PASS_FLAGS {
D3D12_RENDER_PASS_FLAG_NONE = 0x0,
D3D12_RENDER_PASS_FLAG_ALLOW_UAV_WRITES = 0x1,
D3D12_RENDER_PASS_FLAG_SUSPENDING_PASS = 0x2,
D3D12_RENDER_PASS_FLAG_RESUMING_PASS = 0x4
} D3D12_RENDER_PASS_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_RENDER_PASS_FLAGS);
/*****************************************************************************
* ID3D12MetaCommand interface
*/
#ifndef __ID3D12MetaCommand_INTERFACE_DEFINED__
#define __ID3D12MetaCommand_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12MetaCommand, 0xdbb84c27, 0x36ce, 0x4fc9, 0xb8,0x01, 0xf0,0x48,0xc4,0x6a,0xc5,0x70);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dbb84c27-36ce-4fc9-b801-f048c46ac570")
ID3D12MetaCommand : public ID3D12Pageable
{
virtual UINT64 STDMETHODCALLTYPE GetRequiredParameterResourceSize(
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT parameter_index) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12MetaCommand, 0xdbb84c27, 0x36ce, 0x4fc9, 0xb8,0x01, 0xf0,0x48,0xc4,0x6a,0xc5,0x70)
#endif
#else
typedef struct ID3D12MetaCommandVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12MetaCommand *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12MetaCommand *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12MetaCommand *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12MetaCommand *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12MetaCommand *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12MetaCommand *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12MetaCommand *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12MetaCommand *This,
REFIID riid,
void **device);
/*** ID3D12MetaCommand methods ***/
UINT64 (STDMETHODCALLTYPE *GetRequiredParameterResourceSize)(
ID3D12MetaCommand *This,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT parameter_index);
END_INTERFACE
} ID3D12MetaCommandVtbl;
interface ID3D12MetaCommand {
CONST_VTBL ID3D12MetaCommandVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12MetaCommand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12MetaCommand_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12MetaCommand_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12MetaCommand_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12MetaCommand_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12MetaCommand_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12MetaCommand_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12MetaCommand_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12MetaCommand methods ***/
#define ID3D12MetaCommand_GetRequiredParameterResourceSize(This,stage,parameter_index) (This)->lpVtbl->GetRequiredParameterResourceSize(This,stage,parameter_index)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12MetaCommand_QueryInterface(ID3D12MetaCommand* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12MetaCommand_AddRef(ID3D12MetaCommand* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12MetaCommand_Release(ID3D12MetaCommand* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12MetaCommand_GetPrivateData(ID3D12MetaCommand* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12MetaCommand_SetPrivateData(ID3D12MetaCommand* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12MetaCommand_SetPrivateDataInterface(ID3D12MetaCommand* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12MetaCommand_SetName(ID3D12MetaCommand* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12MetaCommand_GetDevice(ID3D12MetaCommand* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12MetaCommand methods ***/
static __WIDL_INLINE UINT64 ID3D12MetaCommand_GetRequiredParameterResourceSize(ID3D12MetaCommand* This,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT parameter_index) {
return This->lpVtbl->GetRequiredParameterResourceSize(This,stage,parameter_index);
}
#endif
#endif
#endif
#endif /* __ID3D12MetaCommand_INTERFACE_DEFINED__ */
typedef struct D3D12_DISPATCH_RAYS_DESC {
D3D12_GPU_VIRTUAL_ADDRESS_RANGE RayGenerationShaderRecord;
D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable;
D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable;
D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable;
UINT Width;
UINT Height;
UINT Depth;
} D3D12_DISPATCH_RAYS_DESC;
/*****************************************************************************
* ID3D12GraphicsCommandList4 interface
*/
#ifndef __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList4, 0x8754318e, 0xd3a9, 0x4541, 0x98,0xcf, 0x64,0x5b,0x50,0xdc,0x48,0x74);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8754318e-d3a9-4541-98cf-645b50dc4874")
ID3D12GraphicsCommandList4 : public ID3D12GraphicsCommandList3
{
virtual void STDMETHODCALLTYPE BeginRenderPass(
UINT render_targets_count,
const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,
const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,
D3D12_RENDER_PASS_FLAGS flags) = 0;
virtual void STDMETHODCALLTYPE EndRenderPass(
) = 0;
virtual void STDMETHODCALLTYPE InitializeMetaCommand(
ID3D12MetaCommand *meta_command,
const void *initialization_parameters_data,
SIZE_T initialization_parameters_data_size_in_bytes) = 0;
virtual void STDMETHODCALLTYPE ExecuteMetaCommand(
ID3D12MetaCommand *meta_command,
const void *execution_parameters_data,
SIZE_T execution_parameters_data_size_in_bytes) = 0;
virtual void STDMETHODCALLTYPE BuildRaytracingAccelerationStructure(
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,
UINT postbuild_info_descs_count,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) = 0;
virtual void STDMETHODCALLTYPE EmitRaytracingAccelerationStructurePostbuildInfo(
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,
UINT src_acceleration_structures_count,
const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) = 0;
virtual void STDMETHODCALLTYPE CopyRaytracingAccelerationStructure(
D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,
D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) = 0;
virtual void STDMETHODCALLTYPE SetPipelineState1(
ID3D12StateObject *state_object) = 0;
virtual void STDMETHODCALLTYPE DispatchRays(
const D3D12_DISPATCH_RAYS_DESC *desc) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList4, 0x8754318e, 0xd3a9, 0x4541, 0x98,0xcf, 0x64,0x5b,0x50,0xdc,0x48,0x74)
#endif
#else
typedef struct ID3D12GraphicsCommandList4Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList4 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList4 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList4 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList4 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList4 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList4 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList4 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList4 *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList4 *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList4 *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList4 *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList4 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList4 *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList4 *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList4 *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList4 *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList4 *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList4 *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList4 *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList4 *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList4 *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList4 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList4 *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList4 *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList4 *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList4 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList4 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList4 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList4 *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList4 *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList4 *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList4 *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList4 *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList4 *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList4 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList4 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList4 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList4 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList4 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList4 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList4 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList4 *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList4 *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
/*** ID3D12GraphicsCommandList1 methods ***/
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *OMSetDepthBounds)(
ID3D12GraphicsCommandList4 *This,
FLOAT min,
FLOAT max);
void (STDMETHODCALLTYPE *SetSamplePositions)(
ID3D12GraphicsCommandList4 *This,
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions);
void (STDMETHODCALLTYPE *ResolveSubresourceRegion)(
ID3D12GraphicsCommandList4 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode);
void (STDMETHODCALLTYPE *SetViewInstanceMask)(
ID3D12GraphicsCommandList4 *This,
UINT mask);
/*** ID3D12GraphicsCommandList2 methods ***/
void (STDMETHODCALLTYPE *WriteBufferImmediate)(
ID3D12GraphicsCommandList4 *This,
UINT count,
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes);
/*** ID3D12GraphicsCommandList3 methods ***/
void (STDMETHODCALLTYPE *SetProtectedResourceSession)(
ID3D12GraphicsCommandList4 *This,
ID3D12ProtectedResourceSession *protected_resource_session);
/*** ID3D12GraphicsCommandList4 methods ***/
void (STDMETHODCALLTYPE *BeginRenderPass)(
ID3D12GraphicsCommandList4 *This,
UINT render_targets_count,
const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,
const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,
D3D12_RENDER_PASS_FLAGS flags);
void (STDMETHODCALLTYPE *EndRenderPass)(
ID3D12GraphicsCommandList4 *This);
void (STDMETHODCALLTYPE *InitializeMetaCommand)(
ID3D12GraphicsCommandList4 *This,
ID3D12MetaCommand *meta_command,
const void *initialization_parameters_data,
SIZE_T initialization_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *ExecuteMetaCommand)(
ID3D12GraphicsCommandList4 *This,
ID3D12MetaCommand *meta_command,
const void *execution_parameters_data,
SIZE_T execution_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList4 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,
UINT postbuild_info_descs_count,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs);
void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)(
ID3D12GraphicsCommandList4 *This,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,
UINT src_acceleration_structures_count,
const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data);
void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList4 *This,
D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,
D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode);
void (STDMETHODCALLTYPE *SetPipelineState1)(
ID3D12GraphicsCommandList4 *This,
ID3D12StateObject *state_object);
void (STDMETHODCALLTYPE *DispatchRays)(
ID3D12GraphicsCommandList4 *This,
const D3D12_DISPATCH_RAYS_DESC *desc);
END_INTERFACE
} ID3D12GraphicsCommandList4Vtbl;
interface ID3D12GraphicsCommandList4 {
CONST_VTBL ID3D12GraphicsCommandList4Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12GraphicsCommandList4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12GraphicsCommandList4_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12GraphicsCommandList4_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList4_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList4_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList4_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList4_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList4_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList4_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList4_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList4_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList4_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList4_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList4_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList4_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList4_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList4_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList4_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList4_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList4_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList4_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList4_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList4_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList4_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList4_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList4_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList4_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList4_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList4_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList4_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList4_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList4_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList4_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList4_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList4_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList4_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList4_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList4_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList4_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList4_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList4_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList4_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList4_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList4_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList4_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList4_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
/*** ID3D12GraphicsCommandList1 methods ***/
#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList4_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max)
#define ID3D12GraphicsCommandList4_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions)
#define ID3D12GraphicsCommandList4_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode)
#define ID3D12GraphicsCommandList4_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask)
/*** ID3D12GraphicsCommandList2 methods ***/
#define ID3D12GraphicsCommandList4_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes)
/*** ID3D12GraphicsCommandList3 methods ***/
#define ID3D12GraphicsCommandList4_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session)
/*** ID3D12GraphicsCommandList4 methods ***/
#define ID3D12GraphicsCommandList4_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags)
#define ID3D12GraphicsCommandList4_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This)
#define ID3D12GraphicsCommandList4_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList4_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs)
#define ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data)
#define ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode)
#define ID3D12GraphicsCommandList4_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object)
#define ID3D12GraphicsCommandList4_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_QueryInterface(ID3D12GraphicsCommandList4* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList4_AddRef(ID3D12GraphicsCommandList4* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList4_Release(ID3D12GraphicsCommandList4* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_GetPrivateData(ID3D12GraphicsCommandList4* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_SetPrivateData(ID3D12GraphicsCommandList4* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_SetPrivateDataInterface(ID3D12GraphicsCommandList4* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_SetName(ID3D12GraphicsCommandList4* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_GetDevice(ID3D12GraphicsCommandList4* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList4_GetType(ID3D12GraphicsCommandList4* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_Close(ID3D12GraphicsCommandList4* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList4_Reset(ID3D12GraphicsCommandList4* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearState(ID3D12GraphicsCommandList4* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_DrawInstanced(ID3D12GraphicsCommandList4* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_DrawIndexedInstanced(ID3D12GraphicsCommandList4* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_Dispatch(ID3D12GraphicsCommandList4* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyBufferRegion(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyTextureRegion(ID3D12GraphicsCommandList4* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyResource(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyTiles(ID3D12GraphicsCommandList4* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResolveSubresource(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_IASetPrimitiveTopology(ID3D12GraphicsCommandList4* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_RSSetViewports(ID3D12GraphicsCommandList4* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_RSSetScissorRects(ID3D12GraphicsCommandList4* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetBlendFactor(ID3D12GraphicsCommandList4* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetStencilRef(ID3D12GraphicsCommandList4* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetPipelineState(ID3D12GraphicsCommandList4* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResourceBarrier(ID3D12GraphicsCommandList4* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ExecuteBundle(ID3D12GraphicsCommandList4* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetDescriptorHeaps(ID3D12GraphicsCommandList4* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootSignature(ID3D12GraphicsCommandList4* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootSignature(ID3D12GraphicsCommandList4* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList4* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_IASetIndexBuffer(ID3D12GraphicsCommandList4* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_IASetVertexBuffers(ID3D12GraphicsCommandList4* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SOSetTargets(ID3D12GraphicsCommandList4* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetRenderTargets(ID3D12GraphicsCommandList4* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearDepthStencilView(ID3D12GraphicsCommandList4* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearRenderTargetView(ID3D12GraphicsCommandList4* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList4* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList4* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_DiscardResource(ID3D12GraphicsCommandList4* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_BeginQuery(ID3D12GraphicsCommandList4* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_EndQuery(ID3D12GraphicsCommandList4* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResolveQueryData(ID3D12GraphicsCommandList4* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetPredication(ID3D12GraphicsCommandList4* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetMarker(ID3D12GraphicsCommandList4* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_BeginEvent(ID3D12GraphicsCommandList4* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_EndEvent(ID3D12GraphicsCommandList4* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ExecuteIndirect(ID3D12GraphicsCommandList4* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
/*** ID3D12GraphicsCommandList1 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList4_AtomicCopyBufferUINT(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_OMSetDepthBounds(ID3D12GraphicsCommandList4* This,FLOAT min,FLOAT max) {
This->lpVtbl->OMSetDepthBounds(This,min,max);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetSamplePositions(ID3D12GraphicsCommandList4* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) {
This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ResolveSubresourceRegion(ID3D12GraphicsCommandList4* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) {
This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetViewInstanceMask(ID3D12GraphicsCommandList4* This,UINT mask) {
This->lpVtbl->SetViewInstanceMask(This,mask);
}
/*** ID3D12GraphicsCommandList2 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList4_WriteBufferImmediate(ID3D12GraphicsCommandList4* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) {
This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes);
}
/*** ID3D12GraphicsCommandList3 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetProtectedResourceSession(ID3D12GraphicsCommandList4* This,ID3D12ProtectedResourceSession *protected_resource_session) {
This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session);
}
/*** ID3D12GraphicsCommandList4 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList4_BeginRenderPass(ID3D12GraphicsCommandList4* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) {
This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_EndRenderPass(ID3D12GraphicsCommandList4* This) {
This->lpVtbl->EndRenderPass(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_InitializeMetaCommand(ID3D12GraphicsCommandList4* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) {
This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_ExecuteMetaCommand(ID3D12GraphicsCommandList4* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) {
This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList4* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) {
This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList4* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) {
This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList4* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) {
This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_SetPipelineState1(ID3D12GraphicsCommandList4* This,ID3D12StateObject *state_object) {
This->lpVtbl->SetPipelineState1(This,state_object);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList4_DispatchRays(ID3D12GraphicsCommandList4* This,const D3D12_DISPATCH_RAYS_DESC *desc) {
This->lpVtbl->DispatchRays(This,desc);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList4_INTERFACE_DEFINED__ */
typedef enum D3D12_SHADER_CACHE_MODE {
D3D12_SHADER_CACHE_MODE_MEMORY = 0x0,
D3D12_SHADER_CACHE_MODE_DISK = 0x1
} D3D12_SHADER_CACHE_MODE;
typedef enum D3D12_SHADER_CACHE_FLAGS {
D3D12_SHADER_CACHE_FLAG_NONE = 0x0,
D3D12_SHADER_CACHE_FLAG_DRIVER_VERSIONED = 0x1,
D3D12_SHADER_CACHE_FLAG_USE_WORKING_DIR = 0x2
} D3D12_SHADER_CACHE_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_FLAGS);
typedef struct D3D12_SHADER_CACHE_SESSION_DESC {
GUID Identifier;
D3D12_SHADER_CACHE_MODE Mode;
D3D12_SHADER_CACHE_FLAGS Flags;
UINT MaximumInMemoryCacheSizeBytes;
UINT MaximumInMemoryCacheEntries;
UINT MaximumValueFileSizeBytes;
UINT64 Version;
} D3D12_SHADER_CACHE_SESSION_DESC;
typedef enum D3D12_BARRIER_LAYOUT {
D3D12_BARRIER_LAYOUT_UNDEFINED = 0xffffffff,
D3D12_BARRIER_LAYOUT_COMMON = 0x0,
D3D12_BARRIER_LAYOUT_PRESENT = 0x0,
D3D12_BARRIER_LAYOUT_GENERIC_READ = 0x1,
D3D12_BARRIER_LAYOUT_RENDER_TARGET = 0x2,
D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS = 0x3,
D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE = 0x4,
D3D12_BARRIER_LAYOUT_DEPTH_STENCIL_READ = 0x5,
D3D12_BARRIER_LAYOUT_SHADER_RESOURCE = 0x6,
D3D12_BARRIER_LAYOUT_COPY_SOURCE = 0x7,
D3D12_BARRIER_LAYOUT_COPY_DEST = 0x8,
D3D12_BARRIER_LAYOUT_RESOLVE_SOURCE = 0x9,
D3D12_BARRIER_LAYOUT_RESOLVE_DEST = 0xa,
D3D12_BARRIER_LAYOUT_SHADING_RATE_SOURCE = 0xb,
D3D12_BARRIER_LAYOUT_VIDEO_DECODE_READ = 0xc,
D3D12_BARRIER_LAYOUT_VIDEO_DECODE_WRITE = 0xd,
D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_READ = 0xe,
D3D12_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE = 0xf,
D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_READ = 0x10,
D3D12_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE = 0x11,
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON = 0x12,
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ = 0x13,
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS = 0x14,
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE = 0x15,
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE = 0x16,
D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST = 0x17,
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON = 0x18,
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ = 0x19,
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS = 0x1a,
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE = 0x1b,
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE = 0x1c,
D3D12_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST = 0x1d,
D3D12_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON = 0x1e
} D3D12_BARRIER_LAYOUT;
typedef enum D3D12_BARRIER_SYNC {
D3D12_BARRIER_SYNC_NONE = 0x0,
D3D12_BARRIER_SYNC_ALL = 0x1,
D3D12_BARRIER_SYNC_DRAW = 0x2,
D3D12_BARRIER_SYNC_INPUT_ASSEMBLER = 0x4,
D3D12_BARRIER_SYNC_VERTEX_SHADING = 0x8,
D3D12_BARRIER_SYNC_PIXEL_SHADING = 0x10,
D3D12_BARRIER_SYNC_DEPTH_STENCIL = 0x20,
D3D12_BARRIER_SYNC_RENDER_TARGET = 0x40,
D3D12_BARRIER_SYNC_COMPUTE_SHADING = 0x80,
D3D12_BARRIER_SYNC_RAYTRACING = 0x100,
D3D12_BARRIER_SYNC_COPY = 0x200,
D3D12_BARRIER_SYNC_RESOLVE = 0x400,
D3D12_BARRIER_SYNC_EXECUTE_INDIRECT = 0x800,
D3D12_BARRIER_SYNC_PREDICATION = 0x800,
D3D12_BARRIER_SYNC_ALL_SHADING = 0x1000,
D3D12_BARRIER_SYNC_NON_PIXEL_SHADING = 0x2000,
D3D12_BARRIER_SYNC_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO = 0x4000,
D3D12_BARRIER_SYNC_VIDEO_DECODE = 0x100000,
D3D12_BARRIER_SYNC_VIDEO_PROCESS = 0x200000,
D3D12_BARRIER_SYNC_VIDEO_ENCODE = 0x400000,
D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE = 0x800000,
D3D12_BARRIER_SYNC_COPY_RAYTRACING_ACCELERATION_STRUCTURE = 0x1000000,
D3D12_BARRIER_SYNC_SPLIT = 0x80000000
} D3D12_BARRIER_SYNC;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_BARRIER_SYNC);
typedef enum D3D12_BARRIER_ACCESS {
D3D12_BARRIER_ACCESS_COMMON = 0,
D3D12_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
D3D12_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
D3D12_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
D3D12_BARRIER_ACCESS_RENDER_TARGET = 0x8,
D3D12_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
D3D12_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
D3D12_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
D3D12_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
D3D12_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
D3D12_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
D3D12_BARRIER_ACCESS_PREDICATION = 0x200,
D3D12_BARRIER_ACCESS_COPY_DEST = 0x400,
D3D12_BARRIER_ACCESS_COPY_SOURCE = 0x800,
D3D12_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
D3D12_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
D3D12_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
D3D12_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
D3D12_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
D3D12_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
D3D12_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
D3D12_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
D3D12_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
D3D12_BARRIER_ACCESS_NO_ACCESS = 0x80000000
} D3D12_BARRIER_ACCESS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_BARRIER_ACCESS);
typedef enum D3D12_BARRIER_TYPE {
D3D12_BARRIER_TYPE_GLOBAL = 0x0,
D3D12_BARRIER_TYPE_TEXTURE = 0x1,
D3D12_BARRIER_TYPE_BUFFER = 0x2
} D3D12_BARRIER_TYPE;
typedef enum D3D12_TEXTURE_BARRIER_FLAGS {
D3D12_TEXTURE_BARRIER_FLAG_NONE = 0x0,
D3D12_TEXTURE_BARRIER_FLAG_DISCARD = 0x1
} D3D12_TEXTURE_BARRIER_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_TEXTURE_BARRIER_FLAGS);
typedef struct D3D12_BARRIER_SUBRESOURCE_RANGE {
UINT IndexOrFirstMipLevel;
UINT NumMipLevels;
UINT FirstArraySlice;
UINT NumArraySlices;
UINT FirstPlane;
UINT NumPlanes;
} D3D12_BARRIER_SUBRESOURCE_RANGE;
typedef struct D3D12_GLOBAL_BARRIER {
D3D12_BARRIER_SYNC SyncBefore;
D3D12_BARRIER_SYNC SyncAfter;
D3D12_BARRIER_ACCESS AccessBefore;
D3D12_BARRIER_ACCESS AccessAfter;
} D3D12_GLOBAL_BARRIER;
typedef struct D3D12_TEXTURE_BARRIER {
D3D12_BARRIER_SYNC SyncBefore;
D3D12_BARRIER_SYNC SyncAfter;
D3D12_BARRIER_ACCESS AccessBefore;
D3D12_BARRIER_ACCESS AccessAfter;
D3D12_BARRIER_LAYOUT LayoutBefore;
D3D12_BARRIER_LAYOUT LayoutAfter;
ID3D12Resource *pResource;
D3D12_BARRIER_SUBRESOURCE_RANGE Subresources;
D3D12_TEXTURE_BARRIER_FLAGS Flags;
} D3D12_TEXTURE_BARRIER;
typedef struct D3D12_BUFFER_BARRIER {
D3D12_BARRIER_SYNC SyncBefore;
D3D12_BARRIER_SYNC SyncAfter;
D3D12_BARRIER_ACCESS AccessBefore;
D3D12_BARRIER_ACCESS AccessAfter;
ID3D12Resource *pResource;
UINT64 Offset;
UINT64 Size;
} D3D12_BUFFER_BARRIER;
typedef struct D3D12_BARRIER_GROUP {
D3D12_BARRIER_TYPE Type;
UINT32 NumBarriers;
__C89_NAMELESS union {
const D3D12_GLOBAL_BARRIER *pGlobalBarriers;
const D3D12_TEXTURE_BARRIER *pTextureBarriers;
const D3D12_BUFFER_BARRIER *pBufferBarriers;
} __C89_NAMELESSUNIONNAME;
} D3D12_BARRIER_GROUP;
/*****************************************************************************
* ID3D12ShaderCacheSession interface
*/
#ifndef __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
#define __ID3D12ShaderCacheSession_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12ShaderCacheSession, 0x28e2495d, 0x0f64, 0x4ae4, 0xa6,0xec, 0x12,0x92,0x55,0xdc,0x49,0xa8);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("28e2495d-0f64-4ae4-a6ec-129255dc49a8")
ID3D12ShaderCacheSession : public ID3D12DeviceChild
{
virtual HRESULT STDMETHODCALLTYPE FindValue(
const void *key,
UINT key_size,
void *value,
UINT *value_size) = 0;
virtual HRESULT STDMETHODCALLTYPE StoreValue(
const void *key,
UINT key_size,
const void *value,
UINT value_size) = 0;
virtual void STDMETHODCALLTYPE SetDeleteOnDestroy(
) = 0;
#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS
virtual D3D12_SHADER_CACHE_SESSION_DESC* STDMETHODCALLTYPE GetDesc(
D3D12_SHADER_CACHE_SESSION_DESC *__ret) = 0;
D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc(
)
{
D3D12_SHADER_CACHE_SESSION_DESC __ret;
return *GetDesc(&__ret);
}
#else
virtual D3D12_SHADER_CACHE_SESSION_DESC STDMETHODCALLTYPE GetDesc(
) = 0;
#endif
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12ShaderCacheSession, 0x28e2495d, 0x0f64, 0x4ae4, 0xa6,0xec, 0x12,0x92,0x55,0xdc,0x49,0xa8)
#endif
#else
typedef struct ID3D12ShaderCacheSessionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12ShaderCacheSession *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12ShaderCacheSession *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12ShaderCacheSession *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12ShaderCacheSession *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12ShaderCacheSession *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12ShaderCacheSession *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12ShaderCacheSession *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12ShaderCacheSession *This,
REFIID riid,
void **device);
/*** ID3D12ShaderCacheSession methods ***/
HRESULT (STDMETHODCALLTYPE *FindValue)(
ID3D12ShaderCacheSession *This,
const void *key,
UINT key_size,
void *value,
UINT *value_size);
HRESULT (STDMETHODCALLTYPE *StoreValue)(
ID3D12ShaderCacheSession *This,
const void *key,
UINT key_size,
const void *value,
UINT value_size);
void (STDMETHODCALLTYPE *SetDeleteOnDestroy)(
ID3D12ShaderCacheSession *This);
D3D12_SHADER_CACHE_SESSION_DESC * (STDMETHODCALLTYPE *GetDesc)(
ID3D12ShaderCacheSession *This,
D3D12_SHADER_CACHE_SESSION_DESC *__ret);
END_INTERFACE
} ID3D12ShaderCacheSessionVtbl;
interface ID3D12ShaderCacheSession {
CONST_VTBL ID3D12ShaderCacheSessionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12ShaderCacheSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12ShaderCacheSession_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12ShaderCacheSession_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12ShaderCacheSession_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12ShaderCacheSession_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12ShaderCacheSession_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12ShaderCacheSession_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12ShaderCacheSession_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12ShaderCacheSession methods ***/
#define ID3D12ShaderCacheSession_FindValue(This,key,key_size,value,value_size) (This)->lpVtbl->FindValue(This,key,key_size,value,value_size)
#define ID3D12ShaderCacheSession_StoreValue(This,key,key_size,value,value_size) (This)->lpVtbl->StoreValue(This,key,key_size,value,value_size)
#define ID3D12ShaderCacheSession_SetDeleteOnDestroy(This) (This)->lpVtbl->SetDeleteOnDestroy(This)
#define ID3D12ShaderCacheSession_GetDesc(This) ID3D12ShaderCacheSession_GetDesc_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_QueryInterface(ID3D12ShaderCacheSession* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12ShaderCacheSession_AddRef(ID3D12ShaderCacheSession* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12ShaderCacheSession_Release(ID3D12ShaderCacheSession* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_GetPrivateData(ID3D12ShaderCacheSession* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_SetPrivateData(ID3D12ShaderCacheSession* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_SetPrivateDataInterface(ID3D12ShaderCacheSession* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_SetName(ID3D12ShaderCacheSession* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_GetDevice(ID3D12ShaderCacheSession* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12ShaderCacheSession methods ***/
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_FindValue(ID3D12ShaderCacheSession* This,const void *key,UINT key_size,void *value,UINT *value_size) {
return This->lpVtbl->FindValue(This,key,key_size,value,value_size);
}
static __WIDL_INLINE HRESULT ID3D12ShaderCacheSession_StoreValue(ID3D12ShaderCacheSession* This,const void *key,UINT key_size,const void *value,UINT value_size) {
return This->lpVtbl->StoreValue(This,key,key_size,value,value_size);
}
static __WIDL_INLINE void ID3D12ShaderCacheSession_SetDeleteOnDestroy(ID3D12ShaderCacheSession* This) {
This->lpVtbl->SetDeleteOnDestroy(This);
}
static __WIDL_INLINE D3D12_SHADER_CACHE_SESSION_DESC ID3D12ShaderCacheSession_GetDesc(ID3D12ShaderCacheSession* This) {
D3D12_SHADER_CACHE_SESSION_DESC __ret;
return *This->lpVtbl->GetDesc(This,&__ret);
}
#endif
#endif
#endif
#endif /* __ID3D12ShaderCacheSession_INTERFACE_DEFINED__ */
typedef enum D3D12_SHADER_CACHE_KIND_FLAGS {
D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CACHE_FOR_DRIVER = 0x1,
D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_D3D_CONVERSIONS = 0x2,
D3D12_SHADER_CACHE_KIND_FLAG_IMPLICIT_DRIVER_MANAGED = 0x4,
D3D12_SHADER_CACHE_KIND_FLAG_APPLICATION_MANAGED = 0x8
} D3D12_SHADER_CACHE_KIND_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_KIND_FLAGS);
typedef enum D3D12_SHADER_CACHE_CONTROL_FLAGS {
D3D12_SHADER_CACHE_CONTROL_FLAG_DISABLE = 0x1,
D3D12_SHADER_CACHE_CONTROL_FLAG_ENABLE = 0x2,
D3D12_SHADER_CACHE_CONTROL_FLAG_CLEAR = 0x4
} D3D12_SHADER_CACHE_CONTROL_FLAGS;
DEFINE_ENUM_FLAG_OPERATORS(D3D12_SHADER_CACHE_CONTROL_FLAGS);
/*****************************************************************************
* ID3D12Device9 interface
*/
#ifndef __ID3D12Device9_INTERFACE_DEFINED__
#define __ID3D12Device9_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device9, 0x4c80e962, 0xf032, 0x4f60, 0xbc,0x9e, 0xeb,0xc2,0xcf,0xa1,0xd8,0x3c);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4c80e962-f032-4f60-bc9e-ebc2cfa1d83c")
ID3D12Device9 : public ID3D12Device8
{
virtual HRESULT STDMETHODCALLTYPE CreateShaderCacheSession(
const D3D12_SHADER_CACHE_SESSION_DESC *desc,
REFIID riid,
void **session) = 0;
virtual HRESULT STDMETHODCALLTYPE ShaderCacheControl(
D3D12_SHADER_CACHE_KIND_FLAGS kinds,
D3D12_SHADER_CACHE_CONTROL_FLAGS control) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue1(
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID creator_id,
REFIID riid,
void **command_queue) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device9, 0x4c80e962, 0xf032, 0x4f60, 0xbc,0x9e, 0xeb,0xc2,0xcf,0xa1,0xd8,0x3c)
#endif
#else
typedef struct ID3D12Device9Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device9 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device9 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device9 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device9 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device9 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device9 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device9 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device9 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device9 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device9 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device9 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device9 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device9 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device9 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device9 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device9 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device9 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device9 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device9 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device9 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device9 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device9 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device9 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device9 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device9 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device9 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device9 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device9 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device9 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device9 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device9 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device9 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device9 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device9 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device9 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device9 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device9 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device9 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device9 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device9 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device9 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device9 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device9 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device9 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device9 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device9 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device9 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device9 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device9 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device9 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device9 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
/*** ID3D12Device4 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommandList1)(
ID3D12Device9 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)(
ID3D12Device9 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)(
ID3D12Device9 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap1)(
ID3D12Device9 *This,
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)(
ID3D12Device9 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)(
ID3D12Device9 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
/*** ID3D12Device5 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)(
ID3D12Device9 *This,
ID3D12LifetimeOwner *owner,
REFIID riid,
void **tracker);
void (STDMETHODCALLTYPE *RemoveDevice)(
ID3D12Device9 *This);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)(
ID3D12Device9 *This,
UINT *meta_commands_count,
D3D12_META_COMMAND_DESC *descs);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)(
ID3D12Device9 *This,
REFGUID command_id,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *total_structure_size_in_bytes,
UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs);
HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)(
ID3D12Device9 *This,
REFGUID command_id,
UINT node_mask,
const void *creation_parameters_data,
SIZE_T creation_parameters_data_size_in_bytes,
REFIID riid,
void **meta_command);
HRESULT (STDMETHODCALLTYPE *CreateStateObject)(
ID3D12Device9 *This,
const D3D12_STATE_OBJECT_DESC *desc,
REFIID riid,
void **state_object);
void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)(
ID3D12Device9 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info);
D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)(
ID3D12Device9 *This,
D3D12_SERIALIZED_DATA_TYPE serialized_data_type,
const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check);
/*** ID3D12Device6 methods ***/
HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)(
ID3D12Device9 *This,
D3D12_BACKGROUND_PROCESSING_MODE mode,
D3D12_MEASUREMENTS_ACTION action,
HANDLE event,
WINBOOL *further_measurements_desired);
/*** ID3D12Device7 methods ***/
HRESULT (STDMETHODCALLTYPE *AddToStateObject)(
ID3D12Device9 *This,
const D3D12_STATE_OBJECT_DESC *addition,
ID3D12StateObject *state_object_to_grow_from,
REFIID riid,
void **new_state_object);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)(
ID3D12Device9 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,
REFIID riid,
void **session);
/*** ID3D12Device8 methods ***/
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo2)(
ID3D12Device9 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC1 *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource2)(
ID3D12Device9 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource1)(
ID3D12Device9 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
void (STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView)(
ID3D12Device9 *This,
ID3D12Resource *targeted_resource,
ID3D12Resource *feedback_resource,
D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor);
void (STDMETHODCALLTYPE *GetCopyableFootprints1)(
ID3D12Device9 *This,
const D3D12_RESOURCE_DESC1 *resource_desc,
UINT first_subresource,
UINT subresources_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *rows_count,
UINT64 *row_size_in_bytes,
UINT64 *total_bytes);
/*** ID3D12Device9 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateShaderCacheSession)(
ID3D12Device9 *This,
const D3D12_SHADER_CACHE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *ShaderCacheControl)(
ID3D12Device9 *This,
D3D12_SHADER_CACHE_KIND_FLAGS kinds,
D3D12_SHADER_CACHE_CONTROL_FLAGS control);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue1)(
ID3D12Device9 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID creator_id,
REFIID riid,
void **command_queue);
END_INTERFACE
} ID3D12Device9Vtbl;
interface ID3D12Device9 {
CONST_VTBL ID3D12Device9Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device9_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device9_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device9_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device9_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device9_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device9_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device9_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device9_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device9_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device9_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device9_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device9_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device9_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device9_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device9_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device9_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device9_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device9_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device9_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device9_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device9_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device9_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device9_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device9_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device9_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device9_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device9_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device9_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device9_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device9_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device9_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device9_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device9_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device9_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device9_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device9_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device9_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device9_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device9_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device9_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device9_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device9_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device9_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device9_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device9_GetAdapterLuid(This) ID3D12Device9_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device9_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device9_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device9_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device9_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device9_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device9_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device9_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
/*** ID3D12Device4 methods ***/
#define ID3D12Device9_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list)
#define ID3D12Device9_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session)
#define ID3D12Device9_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device9_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap)
#define ID3D12Device9_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource)
#define ID3D12Device9_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device9_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device5 methods ***/
#define ID3D12Device9_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker)
#define ID3D12Device9_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This)
#define ID3D12Device9_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs)
#define ID3D12Device9_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs)
#define ID3D12Device9_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command)
#define ID3D12Device9_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object)
#define ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info)
#define ID3D12Device9_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check)
/*** ID3D12Device6 methods ***/
#define ID3D12Device9_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired)
/*** ID3D12Device7 methods ***/
#define ID3D12Device9_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object)
#define ID3D12Device9_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session)
/*** ID3D12Device8 methods ***/
#define ID3D12Device9_GetResourceAllocationInfo2(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device9_GetResourceAllocationInfo2_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device9_CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device9_CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) (This)->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor)
#define ID3D12Device9_GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) (This)->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes)
/*** ID3D12Device9 methods ***/
#define ID3D12Device9_CreateShaderCacheSession(This,desc,riid,session) (This)->lpVtbl->CreateShaderCacheSession(This,desc,riid,session)
#define ID3D12Device9_ShaderCacheControl(This,kinds,control) (This)->lpVtbl->ShaderCacheControl(This,kinds,control)
#define ID3D12Device9_CreateCommandQueue1(This,desc,creator_id,riid,command_queue) (This)->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_QueryInterface(ID3D12Device9* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device9_AddRef(ID3D12Device9* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device9_Release(ID3D12Device9* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_GetPrivateData(ID3D12Device9* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device9_SetPrivateData(ID3D12Device9* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device9_SetPrivateDataInterface(ID3D12Device9* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device9_SetName(ID3D12Device9* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device9_GetNodeCount(ID3D12Device9* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandQueue(ID3D12Device9* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandAllocator(ID3D12Device9* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateGraphicsPipelineState(ID3D12Device9* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateComputePipelineState(ID3D12Device9* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandList(ID3D12Device9* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CheckFeatureSupport(ID3D12Device9* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateDescriptorHeap(ID3D12Device9* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device9_GetDescriptorHandleIncrementSize(ID3D12Device9* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateRootSignature(ID3D12Device9* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device9_CreateConstantBufferView(ID3D12Device9* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device9_CreateShaderResourceView(ID3D12Device9* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device9_CreateUnorderedAccessView(ID3D12Device9* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device9_CreateRenderTargetView(ID3D12Device9* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device9_CreateDepthStencilView(ID3D12Device9* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device9_CreateSampler(ID3D12Device9* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device9_CopyDescriptors(ID3D12Device9* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device9_CopyDescriptorsSimple(ID3D12Device9* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device9_GetResourceAllocationInfo(ID3D12Device9* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device9_GetCustomHeapProperties(ID3D12Device9* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommittedResource(ID3D12Device9* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateHeap(ID3D12Device9* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreatePlacedResource(ID3D12Device9* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateReservedResource(ID3D12Device9* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateSharedHandle(ID3D12Device9* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device9_OpenSharedHandle(ID3D12Device9* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device9_OpenSharedHandleByName(ID3D12Device9* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device9_MakeResident(ID3D12Device9* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device9_Evict(ID3D12Device9* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateFence(ID3D12Device9* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device9_GetDeviceRemovedReason(ID3D12Device9* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device9_GetCopyableFootprints(ID3D12Device9* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateQueryHeap(ID3D12Device9* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device9_SetStablePowerState(ID3D12Device9* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandSignature(ID3D12Device9* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device9_GetResourceTiling(ID3D12Device9* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device9_GetAdapterLuid(ID3D12Device9* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_CreatePipelineLibrary(ID3D12Device9* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device9_SetEventOnMultipleFenceCompletion(ID3D12Device9* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device9_SetResidencyPriority(ID3D12Device9* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_CreatePipelineState(ID3D12Device9* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_OpenExistingHeapFromAddress(ID3D12Device9* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device9_OpenExistingHeapFromFileMapping(ID3D12Device9* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device9_EnqueueMakeResident(ID3D12Device9* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
/*** ID3D12Device4 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandList1(ID3D12Device9* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateProtectedResourceSession(ID3D12Device9* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommittedResource1(ID3D12Device9* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateHeap1(ID3D12Device9* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateReservedResource1(ID3D12Device9* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device9_GetResourceAllocationInfo1(ID3D12Device9* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
/*** ID3D12Device5 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_CreateLifetimeTracker(ID3D12Device9* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) {
return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker);
}
static __WIDL_INLINE void ID3D12Device9_RemoveDevice(ID3D12Device9* This) {
This->lpVtbl->RemoveDevice(This);
}
static __WIDL_INLINE HRESULT ID3D12Device9_EnumerateMetaCommands(ID3D12Device9* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) {
return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs);
}
static __WIDL_INLINE HRESULT ID3D12Device9_EnumerateMetaCommandParameters(ID3D12Device9* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) {
return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateMetaCommand(ID3D12Device9* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) {
return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateStateObject(ID3D12Device9* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) {
return This->lpVtbl->CreateStateObject(This,desc,riid,state_object);
}
static __WIDL_INLINE void ID3D12Device9_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device9* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) {
This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info);
}
static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device9_CheckDriverMatchingIdentifier(ID3D12Device9* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) {
return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check);
}
/*** ID3D12Device6 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_SetBackgroundProcessingMode(ID3D12Device9* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) {
return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired);
}
/*** ID3D12Device7 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_AddToStateObject(ID3D12Device9* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) {
return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateProtectedResourceSession1(ID3D12Device9* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session);
}
/*** ID3D12Device8 methods ***/
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device9_GetResourceAllocationInfo2(ID3D12Device9* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC1 *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo2(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommittedResource2(ID3D12Device9* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreatePlacedResource1(ID3D12Device9* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE void ID3D12Device9_CreateSamplerFeedbackUnorderedAccessView(ID3D12Device9* This,ID3D12Resource *targeted_resource,ID3D12Resource *feedback_resource,D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) {
This->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor);
}
static __WIDL_INLINE void ID3D12Device9_GetCopyableFootprints1(ID3D12Device9* This,const D3D12_RESOURCE_DESC1 *resource_desc,UINT first_subresource,UINT subresources_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *rows_count,UINT64 *row_size_in_bytes,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes);
}
/*** ID3D12Device9 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device9_CreateShaderCacheSession(ID3D12Device9* This,const D3D12_SHADER_CACHE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateShaderCacheSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device9_ShaderCacheControl(ID3D12Device9* This,D3D12_SHADER_CACHE_KIND_FLAGS kinds,D3D12_SHADER_CACHE_CONTROL_FLAGS control) {
return This->lpVtbl->ShaderCacheControl(This,kinds,control);
}
static __WIDL_INLINE HRESULT ID3D12Device9_CreateCommandQueue1(ID3D12Device9* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID creator_id,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue);
}
#endif
#endif
#endif
#endif /* __ID3D12Device9_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Device10 interface
*/
#ifndef __ID3D12Device10_INTERFACE_DEFINED__
#define __ID3D12Device10_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Device10, 0x517f8718, 0xaa66, 0x49f9, 0xb0,0x2b, 0xa7,0xab,0x89,0xc0,0x60,0x31);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("517f8718-aa66-49f9-b02b-a7ab89c06031")
ID3D12Device10 : public ID3D12Device9
{
virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource3(
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_BARRIER_LAYOUT initial_layout,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
UINT32 castable_formats_count,
DXGI_FORMAT *castable_formats,
REFIID riid_resource,
void **resource) = 0;
virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource2(
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_BARRIER_LAYOUT initial_layout,
const D3D12_CLEAR_VALUE *optimized_clear_value,
UINT32 castable_formats_count,
DXGI_FORMAT *castable_formats,
REFIID riid,
void **resource) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateReservedResource2(
const D3D12_RESOURCE_DESC *desc,
D3D12_BARRIER_LAYOUT initial_layout,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
UINT32 castable_formats_count,
DXGI_FORMAT *castable_formats,
REFIID riid,
void **resource) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Device10, 0x517f8718, 0xaa66, 0x49f9, 0xb0,0x2b, 0xa7,0xab,0x89,0xc0,0x60,0x31)
#endif
#else
typedef struct ID3D12Device10Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Device10 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Device10 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Device10 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12Device10 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12Device10 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12Device10 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12Device10 *This,
const WCHAR *name);
/*** ID3D12Device methods ***/
UINT (STDMETHODCALLTYPE *GetNodeCount)(
ID3D12Device10 *This);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue)(
ID3D12Device10 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID riid,
void **command_queue);
HRESULT (STDMETHODCALLTYPE *CreateCommandAllocator)(
ID3D12Device10 *This,
D3D12_COMMAND_LIST_TYPE type,
REFIID riid,
void **command_allocator);
HRESULT (STDMETHODCALLTYPE *CreateGraphicsPipelineState)(
ID3D12Device10 *This,
const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateComputePipelineState)(
ID3D12Device10 *This,
const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,
REFIID riid,
void **pipeline_state);
HRESULT (STDMETHODCALLTYPE *CreateCommandList)(
ID3D12Device10 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
ID3D12CommandAllocator *command_allocator,
ID3D12PipelineState *initial_pipeline_state,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CheckFeatureSupport)(
ID3D12Device10 *This,
D3D12_FEATURE feature,
void *feature_data,
UINT feature_data_size);
HRESULT (STDMETHODCALLTYPE *CreateDescriptorHeap)(
ID3D12Device10 *This,
const D3D12_DESCRIPTOR_HEAP_DESC *desc,
REFIID riid,
void **descriptor_heap);
UINT (STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)(
ID3D12Device10 *This,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
HRESULT (STDMETHODCALLTYPE *CreateRootSignature)(
ID3D12Device10 *This,
UINT node_mask,
const void *bytecode,
SIZE_T bytecode_length,
REFIID riid,
void **root_signature);
void (STDMETHODCALLTYPE *CreateConstantBufferView)(
ID3D12Device10 *This,
const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateShaderResourceView)(
ID3D12Device10 *This,
ID3D12Resource *resource,
const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateUnorderedAccessView)(
ID3D12Device10 *This,
ID3D12Resource *resource,
ID3D12Resource *counter_resource,
const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateRenderTargetView)(
ID3D12Device10 *This,
ID3D12Resource *resource,
const D3D12_RENDER_TARGET_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateDepthStencilView)(
ID3D12Device10 *This,
ID3D12Resource *resource,
const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CreateSampler)(
ID3D12Device10 *This,
const D3D12_SAMPLER_DESC *desc,
D3D12_CPU_DESCRIPTOR_HANDLE descriptor);
void (STDMETHODCALLTYPE *CopyDescriptors)(
ID3D12Device10 *This,
UINT dst_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,
const UINT *dst_descriptor_range_sizes,
UINT src_descriptor_range_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,
const UINT *src_descriptor_range_sizes,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
void (STDMETHODCALLTYPE *CopyDescriptorsSimple)(
ID3D12Device10 *This,
UINT descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,
const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,
D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo)(
ID3D12Device10 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT reource_desc_count,
const D3D12_RESOURCE_DESC *resource_descs);
D3D12_HEAP_PROPERTIES * (STDMETHODCALLTYPE *GetCustomHeapProperties)(
ID3D12Device10 *This,
D3D12_HEAP_PROPERTIES *__ret,
UINT node_mask,
D3D12_HEAP_TYPE heap_type);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource)(
ID3D12Device10 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap)(
ID3D12Device10 *This,
const D3D12_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource)(
ID3D12Device10 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource)(
ID3D12Device10 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateSharedHandle)(
ID3D12Device10 *This,
ID3D12DeviceChild *object,
const SECURITY_ATTRIBUTES *attributes,
DWORD access,
const WCHAR *name,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandle)(
ID3D12Device10 *This,
HANDLE handle,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *OpenSharedHandleByName)(
ID3D12Device10 *This,
const WCHAR *name,
DWORD access,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *MakeResident)(
ID3D12Device10 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *Evict)(
ID3D12Device10 *This,
UINT object_count,
ID3D12Pageable *const *objects);
HRESULT (STDMETHODCALLTYPE *CreateFence)(
ID3D12Device10 *This,
UINT64 initial_value,
D3D12_FENCE_FLAGS flags,
REFIID riid,
void **fence);
HRESULT (STDMETHODCALLTYPE *GetDeviceRemovedReason)(
ID3D12Device10 *This);
void (STDMETHODCALLTYPE *GetCopyableFootprints)(
ID3D12Device10 *This,
const D3D12_RESOURCE_DESC *desc,
UINT first_sub_resource,
UINT sub_resource_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *row_count,
UINT64 *row_size,
UINT64 *total_bytes);
HRESULT (STDMETHODCALLTYPE *CreateQueryHeap)(
ID3D12Device10 *This,
const D3D12_QUERY_HEAP_DESC *desc,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *SetStablePowerState)(
ID3D12Device10 *This,
WINBOOL enable);
HRESULT (STDMETHODCALLTYPE *CreateCommandSignature)(
ID3D12Device10 *This,
const D3D12_COMMAND_SIGNATURE_DESC *desc,
ID3D12RootSignature *root_signature,
REFIID riid,
void **command_signature);
void (STDMETHODCALLTYPE *GetResourceTiling)(
ID3D12Device10 *This,
ID3D12Resource *resource,
UINT *total_tile_count,
D3D12_PACKED_MIP_INFO *packed_mip_info,
D3D12_TILE_SHAPE *standard_tile_shape,
UINT *sub_resource_tiling_count,
UINT first_sub_resource_tiling,
D3D12_SUBRESOURCE_TILING *sub_resource_tilings);
LUID * (STDMETHODCALLTYPE *GetAdapterLuid)(
ID3D12Device10 *This,
LUID *__ret);
/*** ID3D12Device1 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineLibrary)(
ID3D12Device10 *This,
const void *blob,
SIZE_T blob_size,
REFIID iid,
void **lib);
HRESULT (STDMETHODCALLTYPE *SetEventOnMultipleFenceCompletion)(
ID3D12Device10 *This,
ID3D12Fence *const *fences,
const UINT64 *values,
UINT fence_count,
D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,
HANDLE event);
HRESULT (STDMETHODCALLTYPE *SetResidencyPriority)(
ID3D12Device10 *This,
UINT object_count,
ID3D12Pageable *const *objects,
const D3D12_RESIDENCY_PRIORITY *priorities);
/*** ID3D12Device2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreatePipelineState)(
ID3D12Device10 *This,
const D3D12_PIPELINE_STATE_STREAM_DESC *desc,
REFIID riid,
void **pipeline_state);
/*** ID3D12Device3 methods ***/
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromAddress)(
ID3D12Device10 *This,
const void *address,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *OpenExistingHeapFromFileMapping)(
ID3D12Device10 *This,
HANDLE file_mapping,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *EnqueueMakeResident)(
ID3D12Device10 *This,
D3D12_RESIDENCY_FLAGS flags,
UINT num_objects,
ID3D12Pageable *const *objects,
ID3D12Fence *fence,
UINT64 fence_value);
/*** ID3D12Device4 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommandList1)(
ID3D12Device10 *This,
UINT node_mask,
D3D12_COMMAND_LIST_TYPE type,
D3D12_COMMAND_LIST_FLAGS flags,
REFIID riid,
void **command_list);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession)(
ID3D12Device10 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource1)(
ID3D12Device10 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateHeap1)(
ID3D12Device10 *This,
const D3D12_HEAP_DESC *desc,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **heap);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource1)(
ID3D12Device10 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid,
void **resource);
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo1)(
ID3D12Device10 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
/*** ID3D12Device5 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateLifetimeTracker)(
ID3D12Device10 *This,
ID3D12LifetimeOwner *owner,
REFIID riid,
void **tracker);
void (STDMETHODCALLTYPE *RemoveDevice)(
ID3D12Device10 *This);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommands)(
ID3D12Device10 *This,
UINT *meta_commands_count,
D3D12_META_COMMAND_DESC *descs);
HRESULT (STDMETHODCALLTYPE *EnumerateMetaCommandParameters)(
ID3D12Device10 *This,
REFGUID command_id,
D3D12_META_COMMAND_PARAMETER_STAGE stage,
UINT *total_structure_size_in_bytes,
UINT *parameter_count,
D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs);
HRESULT (STDMETHODCALLTYPE *CreateMetaCommand)(
ID3D12Device10 *This,
REFGUID command_id,
UINT node_mask,
const void *creation_parameters_data,
SIZE_T creation_parameters_data_size_in_bytes,
REFIID riid,
void **meta_command);
HRESULT (STDMETHODCALLTYPE *CreateStateObject)(
ID3D12Device10 *This,
const D3D12_STATE_OBJECT_DESC *desc,
REFIID riid,
void **state_object);
void (STDMETHODCALLTYPE *GetRaytracingAccelerationStructurePrebuildInfo)(
ID3D12Device10 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info);
D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS (STDMETHODCALLTYPE *CheckDriverMatchingIdentifier)(
ID3D12Device10 *This,
D3D12_SERIALIZED_DATA_TYPE serialized_data_type,
const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check);
/*** ID3D12Device6 methods ***/
HRESULT (STDMETHODCALLTYPE *SetBackgroundProcessingMode)(
ID3D12Device10 *This,
D3D12_BACKGROUND_PROCESSING_MODE mode,
D3D12_MEASUREMENTS_ACTION action,
HANDLE event,
WINBOOL *further_measurements_desired);
/*** ID3D12Device7 methods ***/
HRESULT (STDMETHODCALLTYPE *AddToStateObject)(
ID3D12Device10 *This,
const D3D12_STATE_OBJECT_DESC *addition,
ID3D12StateObject *state_object_to_grow_from,
REFIID riid,
void **new_state_object);
HRESULT (STDMETHODCALLTYPE *CreateProtectedResourceSession1)(
ID3D12Device10 *This,
const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,
REFIID riid,
void **session);
/*** ID3D12Device8 methods ***/
D3D12_RESOURCE_ALLOCATION_INFO * (STDMETHODCALLTYPE *GetResourceAllocationInfo2)(
ID3D12Device10 *This,
D3D12_RESOURCE_ALLOCATION_INFO *__ret,
UINT visible_mask,
UINT resource_descs_count,
const D3D12_RESOURCE_DESC1 *resource_descs,
D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1);
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource2)(
ID3D12Device10 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_resource_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource1)(
ID3D12Device10 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_RESOURCE_STATES initial_state,
const D3D12_CLEAR_VALUE *optimized_clear_value,
REFIID riid,
void **resource);
void (STDMETHODCALLTYPE *CreateSamplerFeedbackUnorderedAccessView)(
ID3D12Device10 *This,
ID3D12Resource *targeted_resource,
ID3D12Resource *feedback_resource,
D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor);
void (STDMETHODCALLTYPE *GetCopyableFootprints1)(
ID3D12Device10 *This,
const D3D12_RESOURCE_DESC1 *resource_desc,
UINT first_subresource,
UINT subresources_count,
UINT64 base_offset,
D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,
UINT *rows_count,
UINT64 *row_size_in_bytes,
UINT64 *total_bytes);
/*** ID3D12Device9 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateShaderCacheSession)(
ID3D12Device10 *This,
const D3D12_SHADER_CACHE_SESSION_DESC *desc,
REFIID riid,
void **session);
HRESULT (STDMETHODCALLTYPE *ShaderCacheControl)(
ID3D12Device10 *This,
D3D12_SHADER_CACHE_KIND_FLAGS kinds,
D3D12_SHADER_CACHE_CONTROL_FLAGS control);
HRESULT (STDMETHODCALLTYPE *CreateCommandQueue1)(
ID3D12Device10 *This,
const D3D12_COMMAND_QUEUE_DESC *desc,
REFIID creator_id,
REFIID riid,
void **command_queue);
/*** ID3D12Device10 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateCommittedResource3)(
ID3D12Device10 *This,
const D3D12_HEAP_PROPERTIES *heap_properties,
D3D12_HEAP_FLAGS heap_flags,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_BARRIER_LAYOUT initial_layout,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
UINT32 castable_formats_count,
DXGI_FORMAT *castable_formats,
REFIID riid_resource,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreatePlacedResource2)(
ID3D12Device10 *This,
ID3D12Heap *heap,
UINT64 heap_offset,
const D3D12_RESOURCE_DESC1 *desc,
D3D12_BARRIER_LAYOUT initial_layout,
const D3D12_CLEAR_VALUE *optimized_clear_value,
UINT32 castable_formats_count,
DXGI_FORMAT *castable_formats,
REFIID riid,
void **resource);
HRESULT (STDMETHODCALLTYPE *CreateReservedResource2)(
ID3D12Device10 *This,
const D3D12_RESOURCE_DESC *desc,
D3D12_BARRIER_LAYOUT initial_layout,
const D3D12_CLEAR_VALUE *optimized_clear_value,
ID3D12ProtectedResourceSession *protected_session,
UINT32 castable_formats_count,
DXGI_FORMAT *castable_formats,
REFIID riid,
void **resource);
END_INTERFACE
} ID3D12Device10Vtbl;
interface ID3D12Device10 {
CONST_VTBL ID3D12Device10Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Device10_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Device10_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Device10_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12Device10_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12Device10_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12Device10_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12Device10_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12Device methods ***/
#define ID3D12Device10_GetNodeCount(This) (This)->lpVtbl->GetNodeCount(This)
#define ID3D12Device10_CreateCommandQueue(This,desc,riid,command_queue) (This)->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue)
#define ID3D12Device10_CreateCommandAllocator(This,type,riid,command_allocator) (This)->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator)
#define ID3D12Device10_CreateGraphicsPipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device10_CreateComputePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state)
#define ID3D12Device10_CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list) (This)->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list)
#define ID3D12Device10_CheckFeatureSupport(This,feature,feature_data,feature_data_size) (This)->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size)
#define ID3D12Device10_CreateDescriptorHeap(This,desc,riid,descriptor_heap) (This)->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap)
#define ID3D12Device10_GetDescriptorHandleIncrementSize(This,descriptor_heap_type) (This)->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type)
#define ID3D12Device10_CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature) (This)->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature)
#define ID3D12Device10_CreateConstantBufferView(This,desc,descriptor) (This)->lpVtbl->CreateConstantBufferView(This,desc,descriptor)
#define ID3D12Device10_CreateShaderResourceView(This,resource,desc,descriptor) (This)->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor)
#define ID3D12Device10_CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor) (This)->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor)
#define ID3D12Device10_CreateRenderTargetView(This,resource,desc,descriptor) (This)->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor)
#define ID3D12Device10_CreateDepthStencilView(This,resource,desc,descriptor) (This)->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor)
#define ID3D12Device10_CreateSampler(This,desc,descriptor) (This)->lpVtbl->CreateSampler(This,desc,descriptor)
#define ID3D12Device10_CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type) (This)->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type)
#define ID3D12Device10_CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type) (This)->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type)
#define ID3D12Device10_GetResourceAllocationInfo(This,visible_mask,reource_desc_count,resource_descs) ID3D12Device10_GetResourceAllocationInfo_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device10_GetCustomHeapProperties(This,node_mask,heap_type) ID3D12Device10_GetCustomHeapProperties_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device10_CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device10_CreateHeap(This,desc,riid,heap) (This)->lpVtbl->CreateHeap(This,desc,riid,heap)
#define ID3D12Device10_CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device10_CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device10_CreateSharedHandle(This,object,attributes,access,name,handle) (This)->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle)
#define ID3D12Device10_OpenSharedHandle(This,handle,riid,object) (This)->lpVtbl->OpenSharedHandle(This,handle,riid,object)
#define ID3D12Device10_OpenSharedHandleByName(This,name,access,handle) (This)->lpVtbl->OpenSharedHandleByName(This,name,access,handle)
#define ID3D12Device10_MakeResident(This,object_count,objects) (This)->lpVtbl->MakeResident(This,object_count,objects)
#define ID3D12Device10_Evict(This,object_count,objects) (This)->lpVtbl->Evict(This,object_count,objects)
#define ID3D12Device10_CreateFence(This,initial_value,flags,riid,fence) (This)->lpVtbl->CreateFence(This,initial_value,flags,riid,fence)
#define ID3D12Device10_GetDeviceRemovedReason(This) (This)->lpVtbl->GetDeviceRemovedReason(This)
#define ID3D12Device10_GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes) (This)->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes)
#define ID3D12Device10_CreateQueryHeap(This,desc,riid,heap) (This)->lpVtbl->CreateQueryHeap(This,desc,riid,heap)
#define ID3D12Device10_SetStablePowerState(This,enable) (This)->lpVtbl->SetStablePowerState(This,enable)
#define ID3D12Device10_CreateCommandSignature(This,desc,root_signature,riid,command_signature) (This)->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature)
#define ID3D12Device10_GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings) (This)->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings)
#define ID3D12Device10_GetAdapterLuid(This) ID3D12Device10_GetAdapterLuid_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device1 methods ***/
#define ID3D12Device10_CreatePipelineLibrary(This,blob,blob_size,iid,lib) (This)->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib)
#define ID3D12Device10_SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event) (This)->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event)
#define ID3D12Device10_SetResidencyPriority(This,object_count,objects,priorities) (This)->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities)
/*** ID3D12Device2 methods ***/
#define ID3D12Device10_CreatePipelineState(This,desc,riid,pipeline_state) (This)->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state)
/*** ID3D12Device3 methods ***/
#define ID3D12Device10_OpenExistingHeapFromAddress(This,address,riid,heap) (This)->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap)
#define ID3D12Device10_OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap) (This)->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap)
#define ID3D12Device10_EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value) (This)->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value)
/*** ID3D12Device4 methods ***/
#define ID3D12Device10_CreateCommandList1(This,node_mask,type,flags,riid,command_list) (This)->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list)
#define ID3D12Device10_CreateProtectedResourceSession(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session)
#define ID3D12Device10_CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device10_CreateHeap1(This,desc,protected_session,riid,heap) (This)->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap)
#define ID3D12Device10_CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource) (This)->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource)
#define ID3D12Device10_GetResourceAllocationInfo1(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device10_GetResourceAllocationInfo1_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
/*** ID3D12Device5 methods ***/
#define ID3D12Device10_CreateLifetimeTracker(This,owner,riid,tracker) (This)->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker)
#define ID3D12Device10_RemoveDevice(This) (This)->lpVtbl->RemoveDevice(This)
#define ID3D12Device10_EnumerateMetaCommands(This,meta_commands_count,descs) (This)->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs)
#define ID3D12Device10_EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs) (This)->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs)
#define ID3D12Device10_CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command) (This)->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command)
#define ID3D12Device10_CreateStateObject(This,desc,riid,state_object) (This)->lpVtbl->CreateStateObject(This,desc,riid,state_object)
#define ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info) (This)->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info)
#define ID3D12Device10_CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check) (This)->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check)
/*** ID3D12Device6 methods ***/
#define ID3D12Device10_SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired) (This)->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired)
/*** ID3D12Device7 methods ***/
#define ID3D12Device10_AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object) (This)->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object)
#define ID3D12Device10_CreateProtectedResourceSession1(This,desc,riid,session) (This)->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session)
/*** ID3D12Device8 methods ***/
#define ID3D12Device10_GetResourceAllocationInfo2(This,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1) ID3D12Device10_GetResourceAllocationInfo2_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support
#define ID3D12Device10_CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource)
#define ID3D12Device10_CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource) (This)->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource)
#define ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor) (This)->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor)
#define ID3D12Device10_GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes) (This)->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes)
/*** ID3D12Device9 methods ***/
#define ID3D12Device10_CreateShaderCacheSession(This,desc,riid,session) (This)->lpVtbl->CreateShaderCacheSession(This,desc,riid,session)
#define ID3D12Device10_ShaderCacheControl(This,kinds,control) (This)->lpVtbl->ShaderCacheControl(This,kinds,control)
#define ID3D12Device10_CreateCommandQueue1(This,desc,creator_id,riid,command_queue) (This)->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue)
/*** ID3D12Device10 methods ***/
#define ID3D12Device10_CreateCommittedResource3(This,heap_properties,heap_flags,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid_resource,resource) (This)->lpVtbl->CreateCommittedResource3(This,heap_properties,heap_flags,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid_resource,resource)
#define ID3D12Device10_CreatePlacedResource2(This,heap,heap_offset,desc,initial_layout,optimized_clear_value,castable_formats_count,castable_formats,riid,resource) (This)->lpVtbl->CreatePlacedResource2(This,heap,heap_offset,desc,initial_layout,optimized_clear_value,castable_formats_count,castable_formats,riid,resource)
#define ID3D12Device10_CreateReservedResource2(This,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid,resource) (This)->lpVtbl->CreateReservedResource2(This,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid,resource)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_QueryInterface(ID3D12Device10* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Device10_AddRef(ID3D12Device10* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Device10_Release(ID3D12Device10* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_GetPrivateData(ID3D12Device10* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device10_SetPrivateData(ID3D12Device10* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12Device10_SetPrivateDataInterface(ID3D12Device10* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12Device10_SetName(ID3D12Device10* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12Device methods ***/
static __WIDL_INLINE UINT ID3D12Device10_GetNodeCount(ID3D12Device10* This) {
return This->lpVtbl->GetNodeCount(This);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandQueue(ID3D12Device10* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue(This,desc,riid,command_queue);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandAllocator(ID3D12Device10* This,D3D12_COMMAND_LIST_TYPE type,REFIID riid,void **command_allocator) {
return This->lpVtbl->CreateCommandAllocator(This,type,riid,command_allocator);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateGraphicsPipelineState(ID3D12Device10* This,const D3D12_GRAPHICS_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateGraphicsPipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateComputePipelineState(ID3D12Device10* This,const D3D12_COMPUTE_PIPELINE_STATE_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreateComputePipelineState(This,desc,riid,pipeline_state);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandList(ID3D12Device10* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,ID3D12CommandAllocator *command_allocator,ID3D12PipelineState *initial_pipeline_state,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList(This,node_mask,type,command_allocator,initial_pipeline_state,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CheckFeatureSupport(ID3D12Device10* This,D3D12_FEATURE feature,void *feature_data,UINT feature_data_size) {
return This->lpVtbl->CheckFeatureSupport(This,feature,feature_data,feature_data_size);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateDescriptorHeap(ID3D12Device10* This,const D3D12_DESCRIPTOR_HEAP_DESC *desc,REFIID riid,void **descriptor_heap) {
return This->lpVtbl->CreateDescriptorHeap(This,desc,riid,descriptor_heap);
}
static __WIDL_INLINE UINT ID3D12Device10_GetDescriptorHandleIncrementSize(ID3D12Device10* This,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
return This->lpVtbl->GetDescriptorHandleIncrementSize(This,descriptor_heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateRootSignature(ID3D12Device10* This,UINT node_mask,const void *bytecode,SIZE_T bytecode_length,REFIID riid,void **root_signature) {
return This->lpVtbl->CreateRootSignature(This,node_mask,bytecode,bytecode_length,riid,root_signature);
}
static __WIDL_INLINE void ID3D12Device10_CreateConstantBufferView(ID3D12Device10* This,const D3D12_CONSTANT_BUFFER_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateConstantBufferView(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device10_CreateShaderResourceView(ID3D12Device10* This,ID3D12Resource *resource,const D3D12_SHADER_RESOURCE_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateShaderResourceView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device10_CreateUnorderedAccessView(ID3D12Device10* This,ID3D12Resource *resource,ID3D12Resource *counter_resource,const D3D12_UNORDERED_ACCESS_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateUnorderedAccessView(This,resource,counter_resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device10_CreateRenderTargetView(ID3D12Device10* This,ID3D12Resource *resource,const D3D12_RENDER_TARGET_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateRenderTargetView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device10_CreateDepthStencilView(ID3D12Device10* This,ID3D12Resource *resource,const D3D12_DEPTH_STENCIL_VIEW_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateDepthStencilView(This,resource,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device10_CreateSampler(ID3D12Device10* This,const D3D12_SAMPLER_DESC *desc,D3D12_CPU_DESCRIPTOR_HANDLE descriptor) {
This->lpVtbl->CreateSampler(This,desc,descriptor);
}
static __WIDL_INLINE void ID3D12Device10_CopyDescriptors(ID3D12Device10* This,UINT dst_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *dst_descriptor_range_offsets,const UINT *dst_descriptor_range_sizes,UINT src_descriptor_range_count,const D3D12_CPU_DESCRIPTOR_HANDLE *src_descriptor_range_offsets,const UINT *src_descriptor_range_sizes,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptors(This,dst_descriptor_range_count,dst_descriptor_range_offsets,dst_descriptor_range_sizes,src_descriptor_range_count,src_descriptor_range_offsets,src_descriptor_range_sizes,descriptor_heap_type);
}
static __WIDL_INLINE void ID3D12Device10_CopyDescriptorsSimple(ID3D12Device10* This,UINT descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor_range_offset,const D3D12_CPU_DESCRIPTOR_HANDLE src_descriptor_range_offset,D3D12_DESCRIPTOR_HEAP_TYPE descriptor_heap_type) {
This->lpVtbl->CopyDescriptorsSimple(This,descriptor_count,dst_descriptor_range_offset,src_descriptor_range_offset,descriptor_heap_type);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device10_GetResourceAllocationInfo(ID3D12Device10* This,UINT visible_mask,UINT reource_desc_count,const D3D12_RESOURCE_DESC *resource_descs) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo(This,&__ret,visible_mask,reource_desc_count,resource_descs);
}
static __WIDL_INLINE D3D12_HEAP_PROPERTIES ID3D12Device10_GetCustomHeapProperties(ID3D12Device10* This,UINT node_mask,D3D12_HEAP_TYPE heap_type) {
D3D12_HEAP_PROPERTIES __ret;
return *This->lpVtbl->GetCustomHeapProperties(This,&__ret,node_mask,heap_type);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateCommittedResource(This,heap_properties,heap_flags,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateHeap(ID3D12Device10* This,const D3D12_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreatePlacedResource(ID3D12Device10* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateReservedResource(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource(This,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateSharedHandle(ID3D12Device10* This,ID3D12DeviceChild *object,const SECURITY_ATTRIBUTES *attributes,DWORD access,const WCHAR *name,HANDLE *handle) {
return This->lpVtbl->CreateSharedHandle(This,object,attributes,access,name,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device10_OpenSharedHandle(ID3D12Device10* This,HANDLE handle,REFIID riid,void **object) {
return This->lpVtbl->OpenSharedHandle(This,handle,riid,object);
}
static __WIDL_INLINE HRESULT ID3D12Device10_OpenSharedHandleByName(ID3D12Device10* This,const WCHAR *name,DWORD access,HANDLE *handle) {
return This->lpVtbl->OpenSharedHandleByName(This,name,access,handle);
}
static __WIDL_INLINE HRESULT ID3D12Device10_MakeResident(ID3D12Device10* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->MakeResident(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device10_Evict(ID3D12Device10* This,UINT object_count,ID3D12Pageable *const *objects) {
return This->lpVtbl->Evict(This,object_count,objects);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateFence(ID3D12Device10* This,UINT64 initial_value,D3D12_FENCE_FLAGS flags,REFIID riid,void **fence) {
return This->lpVtbl->CreateFence(This,initial_value,flags,riid,fence);
}
static __WIDL_INLINE HRESULT ID3D12Device10_GetDeviceRemovedReason(ID3D12Device10* This) {
return This->lpVtbl->GetDeviceRemovedReason(This);
}
static __WIDL_INLINE void ID3D12Device10_GetCopyableFootprints(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,UINT first_sub_resource,UINT sub_resource_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *row_count,UINT64 *row_size,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints(This,desc,first_sub_resource,sub_resource_count,base_offset,layouts,row_count,row_size,total_bytes);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateQueryHeap(ID3D12Device10* This,const D3D12_QUERY_HEAP_DESC *desc,REFIID riid,void **heap) {
return This->lpVtbl->CreateQueryHeap(This,desc,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device10_SetStablePowerState(ID3D12Device10* This,WINBOOL enable) {
return This->lpVtbl->SetStablePowerState(This,enable);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandSignature(ID3D12Device10* This,const D3D12_COMMAND_SIGNATURE_DESC *desc,ID3D12RootSignature *root_signature,REFIID riid,void **command_signature) {
return This->lpVtbl->CreateCommandSignature(This,desc,root_signature,riid,command_signature);
}
static __WIDL_INLINE void ID3D12Device10_GetResourceTiling(ID3D12Device10* This,ID3D12Resource *resource,UINT *total_tile_count,D3D12_PACKED_MIP_INFO *packed_mip_info,D3D12_TILE_SHAPE *standard_tile_shape,UINT *sub_resource_tiling_count,UINT first_sub_resource_tiling,D3D12_SUBRESOURCE_TILING *sub_resource_tilings) {
This->lpVtbl->GetResourceTiling(This,resource,total_tile_count,packed_mip_info,standard_tile_shape,sub_resource_tiling_count,first_sub_resource_tiling,sub_resource_tilings);
}
static __WIDL_INLINE LUID ID3D12Device10_GetAdapterLuid(ID3D12Device10* This) {
LUID __ret;
return *This->lpVtbl->GetAdapterLuid(This,&__ret);
}
/*** ID3D12Device1 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_CreatePipelineLibrary(ID3D12Device10* This,const void *blob,SIZE_T blob_size,REFIID iid,void **lib) {
return This->lpVtbl->CreatePipelineLibrary(This,blob,blob_size,iid,lib);
}
static __WIDL_INLINE HRESULT ID3D12Device10_SetEventOnMultipleFenceCompletion(ID3D12Device10* This,ID3D12Fence *const *fences,const UINT64 *values,UINT fence_count,D3D12_MULTIPLE_FENCE_WAIT_FLAGS flags,HANDLE event) {
return This->lpVtbl->SetEventOnMultipleFenceCompletion(This,fences,values,fence_count,flags,event);
}
static __WIDL_INLINE HRESULT ID3D12Device10_SetResidencyPriority(ID3D12Device10* This,UINT object_count,ID3D12Pageable *const *objects,const D3D12_RESIDENCY_PRIORITY *priorities) {
return This->lpVtbl->SetResidencyPriority(This,object_count,objects,priorities);
}
/*** ID3D12Device2 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_CreatePipelineState(ID3D12Device10* This,const D3D12_PIPELINE_STATE_STREAM_DESC *desc,REFIID riid,void **pipeline_state) {
return This->lpVtbl->CreatePipelineState(This,desc,riid,pipeline_state);
}
/*** ID3D12Device3 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_OpenExistingHeapFromAddress(ID3D12Device10* This,const void *address,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromAddress(This,address,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device10_OpenExistingHeapFromFileMapping(ID3D12Device10* This,HANDLE file_mapping,REFIID riid,void **heap) {
return This->lpVtbl->OpenExistingHeapFromFileMapping(This,file_mapping,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device10_EnqueueMakeResident(ID3D12Device10* This,D3D12_RESIDENCY_FLAGS flags,UINT num_objects,ID3D12Pageable *const *objects,ID3D12Fence *fence,UINT64 fence_value) {
return This->lpVtbl->EnqueueMakeResident(This,flags,num_objects,objects,fence,fence_value);
}
/*** ID3D12Device4 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandList1(ID3D12Device10* This,UINT node_mask,D3D12_COMMAND_LIST_TYPE type,D3D12_COMMAND_LIST_FLAGS flags,REFIID riid,void **command_list) {
return This->lpVtbl->CreateCommandList1(This,node_mask,type,flags,riid,command_list);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateProtectedResourceSession(ID3D12Device10* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource1(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource1(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateHeap1(ID3D12Device10* This,const D3D12_HEAP_DESC *desc,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **heap) {
return This->lpVtbl->CreateHeap1(This,desc,protected_session,riid,heap);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateReservedResource1(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource1(This,desc,initial_state,optimized_clear_value,protected_session,riid,resource);
}
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device10_GetResourceAllocationInfo1(ID3D12Device10* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo1(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
/*** ID3D12Device5 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_CreateLifetimeTracker(ID3D12Device10* This,ID3D12LifetimeOwner *owner,REFIID riid,void **tracker) {
return This->lpVtbl->CreateLifetimeTracker(This,owner,riid,tracker);
}
static __WIDL_INLINE void ID3D12Device10_RemoveDevice(ID3D12Device10* This) {
This->lpVtbl->RemoveDevice(This);
}
static __WIDL_INLINE HRESULT ID3D12Device10_EnumerateMetaCommands(ID3D12Device10* This,UINT *meta_commands_count,D3D12_META_COMMAND_DESC *descs) {
return This->lpVtbl->EnumerateMetaCommands(This,meta_commands_count,descs);
}
static __WIDL_INLINE HRESULT ID3D12Device10_EnumerateMetaCommandParameters(ID3D12Device10* This,REFGUID command_id,D3D12_META_COMMAND_PARAMETER_STAGE stage,UINT *total_structure_size_in_bytes,UINT *parameter_count,D3D12_META_COMMAND_PARAMETER_DESC *parameter_descs) {
return This->lpVtbl->EnumerateMetaCommandParameters(This,command_id,stage,total_structure_size_in_bytes,parameter_count,parameter_descs);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateMetaCommand(ID3D12Device10* This,REFGUID command_id,UINT node_mask,const void *creation_parameters_data,SIZE_T creation_parameters_data_size_in_bytes,REFIID riid,void **meta_command) {
return This->lpVtbl->CreateMetaCommand(This,command_id,node_mask,creation_parameters_data,creation_parameters_data_size_in_bytes,riid,meta_command);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateStateObject(ID3D12Device10* This,const D3D12_STATE_OBJECT_DESC *desc,REFIID riid,void **state_object) {
return This->lpVtbl->CreateStateObject(This,desc,riid,state_object);
}
static __WIDL_INLINE void ID3D12Device10_GetRaytracingAccelerationStructurePrebuildInfo(ID3D12Device10* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *desc,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO *info) {
This->lpVtbl->GetRaytracingAccelerationStructurePrebuildInfo(This,desc,info);
}
static __WIDL_INLINE D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS ID3D12Device10_CheckDriverMatchingIdentifier(ID3D12Device10* This,D3D12_SERIALIZED_DATA_TYPE serialized_data_type,const D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER *identifier_to_check) {
return This->lpVtbl->CheckDriverMatchingIdentifier(This,serialized_data_type,identifier_to_check);
}
/*** ID3D12Device6 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_SetBackgroundProcessingMode(ID3D12Device10* This,D3D12_BACKGROUND_PROCESSING_MODE mode,D3D12_MEASUREMENTS_ACTION action,HANDLE event,WINBOOL *further_measurements_desired) {
return This->lpVtbl->SetBackgroundProcessingMode(This,mode,action,event,further_measurements_desired);
}
/*** ID3D12Device7 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_AddToStateObject(ID3D12Device10* This,const D3D12_STATE_OBJECT_DESC *addition,ID3D12StateObject *state_object_to_grow_from,REFIID riid,void **new_state_object) {
return This->lpVtbl->AddToStateObject(This,addition,state_object_to_grow_from,riid,new_state_object);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateProtectedResourceSession1(ID3D12Device10* This,const D3D12_PROTECTED_RESOURCE_SESSION_DESC1 *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateProtectedResourceSession1(This,desc,riid,session);
}
/*** ID3D12Device8 methods ***/
static __WIDL_INLINE D3D12_RESOURCE_ALLOCATION_INFO ID3D12Device10_GetResourceAllocationInfo2(ID3D12Device10* This,UINT visible_mask,UINT resource_descs_count,const D3D12_RESOURCE_DESC1 *resource_descs,D3D12_RESOURCE_ALLOCATION_INFO1 *resource_allocation_info1) {
D3D12_RESOURCE_ALLOCATION_INFO __ret;
return *This->lpVtbl->GetResourceAllocationInfo2(This,&__ret,visible_mask,resource_descs_count,resource_descs,resource_allocation_info1);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource2(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_resource_state,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource2(This,heap_properties,heap_flags,desc,initial_resource_state,optimized_clear_value,protected_session,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreatePlacedResource1(ID3D12Device10* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_RESOURCE_STATES initial_state,const D3D12_CLEAR_VALUE *optimized_clear_value,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource1(This,heap,heap_offset,desc,initial_state,optimized_clear_value,riid,resource);
}
static __WIDL_INLINE void ID3D12Device10_CreateSamplerFeedbackUnorderedAccessView(ID3D12Device10* This,ID3D12Resource *targeted_resource,ID3D12Resource *feedback_resource,D3D12_CPU_DESCRIPTOR_HANDLE dst_descriptor) {
This->lpVtbl->CreateSamplerFeedbackUnorderedAccessView(This,targeted_resource,feedback_resource,dst_descriptor);
}
static __WIDL_INLINE void ID3D12Device10_GetCopyableFootprints1(ID3D12Device10* This,const D3D12_RESOURCE_DESC1 *resource_desc,UINT first_subresource,UINT subresources_count,UINT64 base_offset,D3D12_PLACED_SUBRESOURCE_FOOTPRINT *layouts,UINT *rows_count,UINT64 *row_size_in_bytes,UINT64 *total_bytes) {
This->lpVtbl->GetCopyableFootprints1(This,resource_desc,first_subresource,subresources_count,base_offset,layouts,rows_count,row_size_in_bytes,total_bytes);
}
/*** ID3D12Device9 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_CreateShaderCacheSession(ID3D12Device10* This,const D3D12_SHADER_CACHE_SESSION_DESC *desc,REFIID riid,void **session) {
return This->lpVtbl->CreateShaderCacheSession(This,desc,riid,session);
}
static __WIDL_INLINE HRESULT ID3D12Device10_ShaderCacheControl(ID3D12Device10* This,D3D12_SHADER_CACHE_KIND_FLAGS kinds,D3D12_SHADER_CACHE_CONTROL_FLAGS control) {
return This->lpVtbl->ShaderCacheControl(This,kinds,control);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommandQueue1(ID3D12Device10* This,const D3D12_COMMAND_QUEUE_DESC *desc,REFIID creator_id,REFIID riid,void **command_queue) {
return This->lpVtbl->CreateCommandQueue1(This,desc,creator_id,riid,command_queue);
}
/*** ID3D12Device10 methods ***/
static __WIDL_INLINE HRESULT ID3D12Device10_CreateCommittedResource3(ID3D12Device10* This,const D3D12_HEAP_PROPERTIES *heap_properties,D3D12_HEAP_FLAGS heap_flags,const D3D12_RESOURCE_DESC1 *desc,D3D12_BARRIER_LAYOUT initial_layout,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,UINT32 castable_formats_count,DXGI_FORMAT *castable_formats,REFIID riid_resource,void **resource) {
return This->lpVtbl->CreateCommittedResource3(This,heap_properties,heap_flags,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid_resource,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreatePlacedResource2(ID3D12Device10* This,ID3D12Heap *heap,UINT64 heap_offset,const D3D12_RESOURCE_DESC1 *desc,D3D12_BARRIER_LAYOUT initial_layout,const D3D12_CLEAR_VALUE *optimized_clear_value,UINT32 castable_formats_count,DXGI_FORMAT *castable_formats,REFIID riid,void **resource) {
return This->lpVtbl->CreatePlacedResource2(This,heap,heap_offset,desc,initial_layout,optimized_clear_value,castable_formats_count,castable_formats,riid,resource);
}
static __WIDL_INLINE HRESULT ID3D12Device10_CreateReservedResource2(ID3D12Device10* This,const D3D12_RESOURCE_DESC *desc,D3D12_BARRIER_LAYOUT initial_layout,const D3D12_CLEAR_VALUE *optimized_clear_value,ID3D12ProtectedResourceSession *protected_session,UINT32 castable_formats_count,DXGI_FORMAT *castable_formats,REFIID riid,void **resource) {
return This->lpVtbl->CreateReservedResource2(This,desc,initial_layout,optimized_clear_value,protected_session,castable_formats_count,castable_formats,riid,resource);
}
#endif
#endif
#endif
#endif /* __ID3D12Device10_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12VirtualizationGuestDevice interface
*/
#ifndef __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
#define __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12VirtualizationGuestDevice, 0xbc66d368, 0x7373, 0x4943, 0x87,0x57, 0xfc,0x87,0xdc,0x79,0xe4,0x76);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("bc66d368-7373-4943-8757-fc87dc79e476")
ID3D12VirtualizationGuestDevice : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ShareWithHost(
ID3D12DeviceChild *object,
HANDLE *handle) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateFenceFd(
ID3D12Fence *fence,
UINT64 fence_value,
int *fence_fd) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12VirtualizationGuestDevice, 0xbc66d368, 0x7373, 0x4943, 0x87,0x57, 0xfc,0x87,0xdc,0x79,0xe4,0x76)
#endif
#else
typedef struct ID3D12VirtualizationGuestDeviceVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12VirtualizationGuestDevice *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12VirtualizationGuestDevice *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12VirtualizationGuestDevice *This);
/*** ID3D12VirtualizationGuestDevice methods ***/
HRESULT (STDMETHODCALLTYPE *ShareWithHost)(
ID3D12VirtualizationGuestDevice *This,
ID3D12DeviceChild *object,
HANDLE *handle);
HRESULT (STDMETHODCALLTYPE *CreateFenceFd)(
ID3D12VirtualizationGuestDevice *This,
ID3D12Fence *fence,
UINT64 fence_value,
int *fence_fd);
END_INTERFACE
} ID3D12VirtualizationGuestDeviceVtbl;
interface ID3D12VirtualizationGuestDevice {
CONST_VTBL ID3D12VirtualizationGuestDeviceVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12VirtualizationGuestDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12VirtualizationGuestDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12VirtualizationGuestDevice_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12VirtualizationGuestDevice methods ***/
#define ID3D12VirtualizationGuestDevice_ShareWithHost(This,object,handle) (This)->lpVtbl->ShareWithHost(This,object,handle)
#define ID3D12VirtualizationGuestDevice_CreateFenceFd(This,fence,fence_value,fence_fd) (This)->lpVtbl->CreateFenceFd(This,fence,fence_value,fence_fd)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12VirtualizationGuestDevice_QueryInterface(ID3D12VirtualizationGuestDevice* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12VirtualizationGuestDevice_AddRef(ID3D12VirtualizationGuestDevice* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12VirtualizationGuestDevice_Release(ID3D12VirtualizationGuestDevice* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12VirtualizationGuestDevice methods ***/
static __WIDL_INLINE HRESULT ID3D12VirtualizationGuestDevice_ShareWithHost(ID3D12VirtualizationGuestDevice* This,ID3D12DeviceChild *object,HANDLE *handle) {
return This->lpVtbl->ShareWithHost(This,object,handle);
}
static __WIDL_INLINE HRESULT ID3D12VirtualizationGuestDevice_CreateFenceFd(ID3D12VirtualizationGuestDevice* This,ID3D12Fence *fence,UINT64 fence_value,int *fence_fd) {
return This->lpVtbl->CreateFenceFd(This,fence,fence_value,fence_fd);
}
#endif
#endif
#endif
#endif /* __ID3D12VirtualizationGuestDevice_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12Tools interface
*/
#ifndef __ID3D12Tools_INTERFACE_DEFINED__
#define __ID3D12Tools_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12Tools, 0x7071e1f0, 0xe84b, 0x4b33, 0x97,0x4f, 0x12,0xfa,0x49,0xde,0x65,0xc5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7071e1f0-e84b-4b33-974f-12fa49de65c5")
ID3D12Tools : public IUnknown
{
virtual void STDMETHODCALLTYPE EnableShaderInstrumentation(
WINBOOL enable) = 0;
virtual WINBOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12Tools, 0x7071e1f0, 0xe84b, 0x4b33, 0x97,0x4f, 0x12,0xfa,0x49,0xde,0x65,0xc5)
#endif
#else
typedef struct ID3D12ToolsVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12Tools *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12Tools *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12Tools *This);
/*** ID3D12Tools methods ***/
void (STDMETHODCALLTYPE *EnableShaderInstrumentation)(
ID3D12Tools *This,
WINBOOL enable);
WINBOOL (STDMETHODCALLTYPE *ShaderInstrumentationEnabled)(
ID3D12Tools *This);
END_INTERFACE
} ID3D12ToolsVtbl;
interface ID3D12Tools {
CONST_VTBL ID3D12ToolsVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12Tools_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12Tools_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12Tools_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Tools methods ***/
#define ID3D12Tools_EnableShaderInstrumentation(This,enable) (This)->lpVtbl->EnableShaderInstrumentation(This,enable)
#define ID3D12Tools_ShaderInstrumentationEnabled(This) (This)->lpVtbl->ShaderInstrumentationEnabled(This)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12Tools_QueryInterface(ID3D12Tools* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12Tools_AddRef(ID3D12Tools* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12Tools_Release(ID3D12Tools* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Tools methods ***/
static __WIDL_INLINE void ID3D12Tools_EnableShaderInstrumentation(ID3D12Tools* This,WINBOOL enable) {
This->lpVtbl->EnableShaderInstrumentation(This,enable);
}
static __WIDL_INLINE WINBOOL ID3D12Tools_ShaderInstrumentationEnabled(ID3D12Tools* This) {
return This->lpVtbl->ShaderInstrumentationEnabled(This);
}
#endif
#endif
#endif
#endif /* __ID3D12Tools_INTERFACE_DEFINED__ */
DEFINE_GUID(CLSID_D3D12Debug, 0xf2352aeb, 0xdd84, 0x49fe, 0xb9, 0x7b, 0xa9, 0xdc, 0xfd, 0xcc, 0x1b, 0x4f);
DEFINE_GUID(CLSID_D3D12Tools, 0xe38216b1, 0x3c8c, 0x4833, 0xaa, 0x09, 0x0a, 0x06, 0xb6, 0x5d, 0x96, 0xc8);
DEFINE_GUID(CLSID_D3D12DeviceRemovedExtendedData, 0x4a75bbc4, 0x9ff4, 0x4ad8, 0x9f, 0x18, 0xab, 0xae, 0x84, 0xdc, 0x5f, 0xf2);
DEFINE_GUID(CLSID_D3D12SDKConfiguration, 0x7cda6aca, 0xa03e, 0x49c8, 0x94, 0x58, 0x03, 0x34, 0xd2, 0x0e, 0x07, 0xce);
/*****************************************************************************
* ID3D12SDKConfiguration interface
*/
#ifndef __ID3D12SDKConfiguration_INTERFACE_DEFINED__
#define __ID3D12SDKConfiguration_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12SDKConfiguration, 0xe9eb5314, 0x33aa, 0x42b2, 0xa7,0x18, 0xd7,0x7f,0x58,0xb1,0xf1,0xc7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e9eb5314-33aa-42b2-a718-d77f58b1f1c7")
ID3D12SDKConfiguration : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetSDKVersion(
UINT version,
const char *path) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12SDKConfiguration, 0xe9eb5314, 0x33aa, 0x42b2, 0xa7,0x18, 0xd7,0x7f,0x58,0xb1,0xf1,0xc7)
#endif
#else
typedef struct ID3D12SDKConfigurationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12SDKConfiguration *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12SDKConfiguration *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12SDKConfiguration *This);
/*** ID3D12SDKConfiguration methods ***/
HRESULT (STDMETHODCALLTYPE *SetSDKVersion)(
ID3D12SDKConfiguration *This,
UINT version,
const char *path);
END_INTERFACE
} ID3D12SDKConfigurationVtbl;
interface ID3D12SDKConfiguration {
CONST_VTBL ID3D12SDKConfigurationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12SDKConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12SDKConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12SDKConfiguration_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12SDKConfiguration methods ***/
#define ID3D12SDKConfiguration_SetSDKVersion(This,version,path) (This)->lpVtbl->SetSDKVersion(This,version,path)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12SDKConfiguration_QueryInterface(ID3D12SDKConfiguration* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12SDKConfiguration_AddRef(ID3D12SDKConfiguration* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12SDKConfiguration_Release(ID3D12SDKConfiguration* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12SDKConfiguration methods ***/
static __WIDL_INLINE HRESULT ID3D12SDKConfiguration_SetSDKVersion(ID3D12SDKConfiguration* This,UINT version,const char *path) {
return This->lpVtbl->SetSDKVersion(This,version,path);
}
#endif
#endif
#endif
#endif /* __ID3D12SDKConfiguration_INTERFACE_DEFINED__ */
typedef enum D3D12_AXIS_SHADING_RATE {
D3D12_AXIS_SHADING_RATE_1X = 0x0,
D3D12_AXIS_SHADING_RATE_2X = 0x1,
D3D12_AXIS_SHADING_RATE_4X = 0x2
} D3D12_AXIS_SHADING_RATE;
typedef enum D3D12_SHADING_RATE {
D3D12_SHADING_RATE_1X1 = 0x0,
D3D12_SHADING_RATE_1X2 = 0x1,
D3D12_SHADING_RATE_2X1 = 0x4,
D3D12_SHADING_RATE_2X2 = 0x5,
D3D12_SHADING_RATE_2X4 = 0x6,
D3D12_SHADING_RATE_4X2 = 0x9,
D3D12_SHADING_RATE_4X4 = 0xa
} D3D12_SHADING_RATE;
typedef enum D3D12_SHADING_RATE_COMBINER {
D3D12_SHADING_RATE_COMBINER_PASSTHROUGH = 0x0,
D3D12_SHADING_RATE_COMBINER_OVERRIDE = 0x1,
D3D12_SHADING_RATE_COMBINER_MIN = 0x2,
D3D12_SHADING_RATE_COMBINER_MAX = 0x3,
D3D12_SHADING_RATE_COMBINER_SUM = 0x4
} D3D12_SHADING_RATE_COMBINER;
/*****************************************************************************
* ID3D12GraphicsCommandList5 interface
*/
#ifndef __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList5, 0x55050859, 0x4024, 0x474c, 0x87,0xf5, 0x64,0x72,0xea,0xee,0x44,0xea);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("55050859-4024-474c-87f5-6472eaee44ea")
ID3D12GraphicsCommandList5 : public ID3D12GraphicsCommandList4
{
virtual void STDMETHODCALLTYPE RSSetShadingRate(
D3D12_SHADING_RATE base_shading_rate,
const D3D12_SHADING_RATE_COMBINER *combiners) = 0;
virtual void STDMETHODCALLTYPE RSSetShadingRateImage(
ID3D12Resource *shading_rate_image) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList5, 0x55050859, 0x4024, 0x474c, 0x87,0xf5, 0x64,0x72,0xea,0xee,0x44,0xea)
#endif
#else
typedef struct ID3D12GraphicsCommandList5Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList5 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList5 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList5 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList5 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList5 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList5 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList5 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList5 *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList5 *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList5 *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList5 *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList5 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList5 *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList5 *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList5 *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList5 *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList5 *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList5 *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList5 *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList5 *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList5 *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList5 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList5 *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList5 *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList5 *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList5 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList5 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList5 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList5 *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList5 *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList5 *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList5 *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList5 *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList5 *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList5 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList5 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList5 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList5 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList5 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList5 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList5 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList5 *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList5 *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
/*** ID3D12GraphicsCommandList1 methods ***/
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *OMSetDepthBounds)(
ID3D12GraphicsCommandList5 *This,
FLOAT min,
FLOAT max);
void (STDMETHODCALLTYPE *SetSamplePositions)(
ID3D12GraphicsCommandList5 *This,
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions);
void (STDMETHODCALLTYPE *ResolveSubresourceRegion)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode);
void (STDMETHODCALLTYPE *SetViewInstanceMask)(
ID3D12GraphicsCommandList5 *This,
UINT mask);
/*** ID3D12GraphicsCommandList2 methods ***/
void (STDMETHODCALLTYPE *WriteBufferImmediate)(
ID3D12GraphicsCommandList5 *This,
UINT count,
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes);
/*** ID3D12GraphicsCommandList3 methods ***/
void (STDMETHODCALLTYPE *SetProtectedResourceSession)(
ID3D12GraphicsCommandList5 *This,
ID3D12ProtectedResourceSession *protected_resource_session);
/*** ID3D12GraphicsCommandList4 methods ***/
void (STDMETHODCALLTYPE *BeginRenderPass)(
ID3D12GraphicsCommandList5 *This,
UINT render_targets_count,
const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,
const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,
D3D12_RENDER_PASS_FLAGS flags);
void (STDMETHODCALLTYPE *EndRenderPass)(
ID3D12GraphicsCommandList5 *This);
void (STDMETHODCALLTYPE *InitializeMetaCommand)(
ID3D12GraphicsCommandList5 *This,
ID3D12MetaCommand *meta_command,
const void *initialization_parameters_data,
SIZE_T initialization_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *ExecuteMetaCommand)(
ID3D12GraphicsCommandList5 *This,
ID3D12MetaCommand *meta_command,
const void *execution_parameters_data,
SIZE_T execution_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList5 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,
UINT postbuild_info_descs_count,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs);
void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)(
ID3D12GraphicsCommandList5 *This,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,
UINT src_acceleration_structures_count,
const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data);
void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList5 *This,
D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,
D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode);
void (STDMETHODCALLTYPE *SetPipelineState1)(
ID3D12GraphicsCommandList5 *This,
ID3D12StateObject *state_object);
void (STDMETHODCALLTYPE *DispatchRays)(
ID3D12GraphicsCommandList5 *This,
const D3D12_DISPATCH_RAYS_DESC *desc);
/*** ID3D12GraphicsCommandList5 methods ***/
void (STDMETHODCALLTYPE *RSSetShadingRate)(
ID3D12GraphicsCommandList5 *This,
D3D12_SHADING_RATE base_shading_rate,
const D3D12_SHADING_RATE_COMBINER *combiners);
void (STDMETHODCALLTYPE *RSSetShadingRateImage)(
ID3D12GraphicsCommandList5 *This,
ID3D12Resource *shading_rate_image);
END_INTERFACE
} ID3D12GraphicsCommandList5Vtbl;
interface ID3D12GraphicsCommandList5 {
CONST_VTBL ID3D12GraphicsCommandList5Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12GraphicsCommandList5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12GraphicsCommandList5_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12GraphicsCommandList5_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList5_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList5_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList5_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList5_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList5_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList5_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList5_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList5_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList5_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList5_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList5_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList5_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList5_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList5_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList5_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList5_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList5_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList5_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList5_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList5_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList5_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList5_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList5_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList5_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList5_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList5_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList5_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList5_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList5_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList5_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList5_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList5_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList5_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList5_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList5_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList5_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList5_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList5_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList5_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList5_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList5_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList5_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList5_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
/*** ID3D12GraphicsCommandList1 methods ***/
#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList5_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max)
#define ID3D12GraphicsCommandList5_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions)
#define ID3D12GraphicsCommandList5_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode)
#define ID3D12GraphicsCommandList5_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask)
/*** ID3D12GraphicsCommandList2 methods ***/
#define ID3D12GraphicsCommandList5_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes)
/*** ID3D12GraphicsCommandList3 methods ***/
#define ID3D12GraphicsCommandList5_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session)
/*** ID3D12GraphicsCommandList4 methods ***/
#define ID3D12GraphicsCommandList5_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags)
#define ID3D12GraphicsCommandList5_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This)
#define ID3D12GraphicsCommandList5_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList5_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs)
#define ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data)
#define ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode)
#define ID3D12GraphicsCommandList5_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object)
#define ID3D12GraphicsCommandList5_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc)
/*** ID3D12GraphicsCommandList5 methods ***/
#define ID3D12GraphicsCommandList5_RSSetShadingRate(This,base_shading_rate,combiners) (This)->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners)
#define ID3D12GraphicsCommandList5_RSSetShadingRateImage(This,shading_rate_image) (This)->lpVtbl->RSSetShadingRateImage(This,shading_rate_image)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_QueryInterface(ID3D12GraphicsCommandList5* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList5_AddRef(ID3D12GraphicsCommandList5* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList5_Release(ID3D12GraphicsCommandList5* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_GetPrivateData(ID3D12GraphicsCommandList5* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_SetPrivateData(ID3D12GraphicsCommandList5* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_SetPrivateDataInterface(ID3D12GraphicsCommandList5* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_SetName(ID3D12GraphicsCommandList5* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_GetDevice(ID3D12GraphicsCommandList5* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList5_GetType(ID3D12GraphicsCommandList5* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_Close(ID3D12GraphicsCommandList5* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList5_Reset(ID3D12GraphicsCommandList5* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearState(ID3D12GraphicsCommandList5* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_DrawInstanced(ID3D12GraphicsCommandList5* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_DrawIndexedInstanced(ID3D12GraphicsCommandList5* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_Dispatch(ID3D12GraphicsCommandList5* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyBufferRegion(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyTextureRegion(ID3D12GraphicsCommandList5* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyResource(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyTiles(ID3D12GraphicsCommandList5* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResolveSubresource(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_IASetPrimitiveTopology(ID3D12GraphicsCommandList5* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetViewports(ID3D12GraphicsCommandList5* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetScissorRects(ID3D12GraphicsCommandList5* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetBlendFactor(ID3D12GraphicsCommandList5* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetStencilRef(ID3D12GraphicsCommandList5* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetPipelineState(ID3D12GraphicsCommandList5* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResourceBarrier(ID3D12GraphicsCommandList5* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ExecuteBundle(ID3D12GraphicsCommandList5* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetDescriptorHeaps(ID3D12GraphicsCommandList5* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootSignature(ID3D12GraphicsCommandList5* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootSignature(ID3D12GraphicsCommandList5* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList5* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_IASetIndexBuffer(ID3D12GraphicsCommandList5* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_IASetVertexBuffers(ID3D12GraphicsCommandList5* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SOSetTargets(ID3D12GraphicsCommandList5* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetRenderTargets(ID3D12GraphicsCommandList5* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearDepthStencilView(ID3D12GraphicsCommandList5* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearRenderTargetView(ID3D12GraphicsCommandList5* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList5* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList5* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_DiscardResource(ID3D12GraphicsCommandList5* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_BeginQuery(ID3D12GraphicsCommandList5* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_EndQuery(ID3D12GraphicsCommandList5* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResolveQueryData(ID3D12GraphicsCommandList5* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetPredication(ID3D12GraphicsCommandList5* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetMarker(ID3D12GraphicsCommandList5* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_BeginEvent(ID3D12GraphicsCommandList5* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_EndEvent(ID3D12GraphicsCommandList5* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ExecuteIndirect(ID3D12GraphicsCommandList5* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
/*** ID3D12GraphicsCommandList1 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList5_AtomicCopyBufferUINT(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_OMSetDepthBounds(ID3D12GraphicsCommandList5* This,FLOAT min,FLOAT max) {
This->lpVtbl->OMSetDepthBounds(This,min,max);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetSamplePositions(ID3D12GraphicsCommandList5* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) {
This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ResolveSubresourceRegion(ID3D12GraphicsCommandList5* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) {
This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetViewInstanceMask(ID3D12GraphicsCommandList5* This,UINT mask) {
This->lpVtbl->SetViewInstanceMask(This,mask);
}
/*** ID3D12GraphicsCommandList2 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList5_WriteBufferImmediate(ID3D12GraphicsCommandList5* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) {
This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes);
}
/*** ID3D12GraphicsCommandList3 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetProtectedResourceSession(ID3D12GraphicsCommandList5* This,ID3D12ProtectedResourceSession *protected_resource_session) {
This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session);
}
/*** ID3D12GraphicsCommandList4 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList5_BeginRenderPass(ID3D12GraphicsCommandList5* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) {
This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_EndRenderPass(ID3D12GraphicsCommandList5* This) {
This->lpVtbl->EndRenderPass(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_InitializeMetaCommand(ID3D12GraphicsCommandList5* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) {
This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_ExecuteMetaCommand(ID3D12GraphicsCommandList5* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) {
This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList5* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) {
This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList5* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) {
This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList5* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) {
This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_SetPipelineState1(ID3D12GraphicsCommandList5* This,ID3D12StateObject *state_object) {
This->lpVtbl->SetPipelineState1(This,state_object);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_DispatchRays(ID3D12GraphicsCommandList5* This,const D3D12_DISPATCH_RAYS_DESC *desc) {
This->lpVtbl->DispatchRays(This,desc);
}
/*** ID3D12GraphicsCommandList5 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetShadingRate(ID3D12GraphicsCommandList5* This,D3D12_SHADING_RATE base_shading_rate,const D3D12_SHADING_RATE_COMBINER *combiners) {
This->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList5_RSSetShadingRateImage(ID3D12GraphicsCommandList5* This,ID3D12Resource *shading_rate_image) {
This->lpVtbl->RSSetShadingRateImage(This,shading_rate_image);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList5_INTERFACE_DEFINED__ */
#define D3D12_SHADING_RATE_X_AXIS_SHIFT (2)
#define D3D12_SHADING_RATE_VALID_MASK (3)
#define D3D12_MAKE_COARSE_SHADING_RATE(x, y) ((x) << D3D12_SHADING_RATE_X_AXIS_SHIFT | (y))
#define D3D12_GET_COARSE_SHADING_RATE_X_AXIS(val) (((val) >> D3D12_SHADING_RATE_X_AXIS_SHIFT) & D3D12_SHADING_RATE_VALID_MASK)
#define D3D12_GET_COARSE_SHADING_RATE_Y_AXIS(val) ((val) & D3D12_SHADING_RATE_VALID_MASK)
typedef struct D3D12_DISPATCH_MESH_ARGUMENTS {
UINT ThreadGroupCountX;
UINT ThreadGroupCountY;
UINT ThreadGroupCountZ;
} D3D12_DISPATCH_MESH_ARGUMENTS;
/*****************************************************************************
* ID3D12GraphicsCommandList6 interface
*/
#ifndef __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList6, 0xc3827890, 0xe548, 0x4cfa, 0x96,0xcf, 0x56,0x89,0xa9,0x37,0x0f,0x80);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c3827890-e548-4cfa-96cf-5689a9370f80")
ID3D12GraphicsCommandList6 : public ID3D12GraphicsCommandList5
{
virtual void STDMETHODCALLTYPE DispatchMesh(
UINT thread_group_count_x,
UINT thread_group_count_y,
UINT thread_group_count_z) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList6, 0xc3827890, 0xe548, 0x4cfa, 0x96,0xcf, 0x56,0x89,0xa9,0x37,0x0f,0x80)
#endif
#else
typedef struct ID3D12GraphicsCommandList6Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList6 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList6 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList6 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList6 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList6 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList6 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList6 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList6 *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList6 *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList6 *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList6 *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList6 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList6 *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList6 *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList6 *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList6 *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList6 *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList6 *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList6 *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList6 *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList6 *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList6 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList6 *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList6 *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList6 *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList6 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList6 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList6 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList6 *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList6 *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList6 *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList6 *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList6 *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList6 *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList6 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList6 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList6 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList6 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList6 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList6 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList6 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList6 *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList6 *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
/*** ID3D12GraphicsCommandList1 methods ***/
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *OMSetDepthBounds)(
ID3D12GraphicsCommandList6 *This,
FLOAT min,
FLOAT max);
void (STDMETHODCALLTYPE *SetSamplePositions)(
ID3D12GraphicsCommandList6 *This,
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions);
void (STDMETHODCALLTYPE *ResolveSubresourceRegion)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode);
void (STDMETHODCALLTYPE *SetViewInstanceMask)(
ID3D12GraphicsCommandList6 *This,
UINT mask);
/*** ID3D12GraphicsCommandList2 methods ***/
void (STDMETHODCALLTYPE *WriteBufferImmediate)(
ID3D12GraphicsCommandList6 *This,
UINT count,
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes);
/*** ID3D12GraphicsCommandList3 methods ***/
void (STDMETHODCALLTYPE *SetProtectedResourceSession)(
ID3D12GraphicsCommandList6 *This,
ID3D12ProtectedResourceSession *protected_resource_session);
/*** ID3D12GraphicsCommandList4 methods ***/
void (STDMETHODCALLTYPE *BeginRenderPass)(
ID3D12GraphicsCommandList6 *This,
UINT render_targets_count,
const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,
const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,
D3D12_RENDER_PASS_FLAGS flags);
void (STDMETHODCALLTYPE *EndRenderPass)(
ID3D12GraphicsCommandList6 *This);
void (STDMETHODCALLTYPE *InitializeMetaCommand)(
ID3D12GraphicsCommandList6 *This,
ID3D12MetaCommand *meta_command,
const void *initialization_parameters_data,
SIZE_T initialization_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *ExecuteMetaCommand)(
ID3D12GraphicsCommandList6 *This,
ID3D12MetaCommand *meta_command,
const void *execution_parameters_data,
SIZE_T execution_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList6 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,
UINT postbuild_info_descs_count,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs);
void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)(
ID3D12GraphicsCommandList6 *This,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,
UINT src_acceleration_structures_count,
const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data);
void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList6 *This,
D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,
D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode);
void (STDMETHODCALLTYPE *SetPipelineState1)(
ID3D12GraphicsCommandList6 *This,
ID3D12StateObject *state_object);
void (STDMETHODCALLTYPE *DispatchRays)(
ID3D12GraphicsCommandList6 *This,
const D3D12_DISPATCH_RAYS_DESC *desc);
/*** ID3D12GraphicsCommandList5 methods ***/
void (STDMETHODCALLTYPE *RSSetShadingRate)(
ID3D12GraphicsCommandList6 *This,
D3D12_SHADING_RATE base_shading_rate,
const D3D12_SHADING_RATE_COMBINER *combiners);
void (STDMETHODCALLTYPE *RSSetShadingRateImage)(
ID3D12GraphicsCommandList6 *This,
ID3D12Resource *shading_rate_image);
/*** ID3D12GraphicsCommandList6 methods ***/
void (STDMETHODCALLTYPE *DispatchMesh)(
ID3D12GraphicsCommandList6 *This,
UINT thread_group_count_x,
UINT thread_group_count_y,
UINT thread_group_count_z);
END_INTERFACE
} ID3D12GraphicsCommandList6Vtbl;
interface ID3D12GraphicsCommandList6 {
CONST_VTBL ID3D12GraphicsCommandList6Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12GraphicsCommandList6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12GraphicsCommandList6_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12GraphicsCommandList6_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList6_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList6_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList6_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList6_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList6_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList6_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList6_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList6_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList6_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList6_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList6_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList6_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList6_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList6_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList6_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList6_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList6_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList6_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList6_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList6_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList6_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList6_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList6_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList6_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList6_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList6_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList6_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList6_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList6_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList6_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList6_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList6_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList6_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList6_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList6_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList6_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList6_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList6_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList6_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList6_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList6_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList6_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList6_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
/*** ID3D12GraphicsCommandList1 methods ***/
#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList6_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max)
#define ID3D12GraphicsCommandList6_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions)
#define ID3D12GraphicsCommandList6_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode)
#define ID3D12GraphicsCommandList6_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask)
/*** ID3D12GraphicsCommandList2 methods ***/
#define ID3D12GraphicsCommandList6_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes)
/*** ID3D12GraphicsCommandList3 methods ***/
#define ID3D12GraphicsCommandList6_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session)
/*** ID3D12GraphicsCommandList4 methods ***/
#define ID3D12GraphicsCommandList6_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags)
#define ID3D12GraphicsCommandList6_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This)
#define ID3D12GraphicsCommandList6_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList6_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs)
#define ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data)
#define ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode)
#define ID3D12GraphicsCommandList6_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object)
#define ID3D12GraphicsCommandList6_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc)
/*** ID3D12GraphicsCommandList5 methods ***/
#define ID3D12GraphicsCommandList6_RSSetShadingRate(This,base_shading_rate,combiners) (This)->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners)
#define ID3D12GraphicsCommandList6_RSSetShadingRateImage(This,shading_rate_image) (This)->lpVtbl->RSSetShadingRateImage(This,shading_rate_image)
/*** ID3D12GraphicsCommandList6 methods ***/
#define ID3D12GraphicsCommandList6_DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z) (This)->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_QueryInterface(ID3D12GraphicsCommandList6* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList6_AddRef(ID3D12GraphicsCommandList6* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList6_Release(ID3D12GraphicsCommandList6* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_GetPrivateData(ID3D12GraphicsCommandList6* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_SetPrivateData(ID3D12GraphicsCommandList6* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_SetPrivateDataInterface(ID3D12GraphicsCommandList6* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_SetName(ID3D12GraphicsCommandList6* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_GetDevice(ID3D12GraphicsCommandList6* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList6_GetType(ID3D12GraphicsCommandList6* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_Close(ID3D12GraphicsCommandList6* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList6_Reset(ID3D12GraphicsCommandList6* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearState(ID3D12GraphicsCommandList6* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_DrawInstanced(ID3D12GraphicsCommandList6* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_DrawIndexedInstanced(ID3D12GraphicsCommandList6* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_Dispatch(ID3D12GraphicsCommandList6* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyBufferRegion(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyTextureRegion(ID3D12GraphicsCommandList6* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyResource(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyTiles(ID3D12GraphicsCommandList6* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResolveSubresource(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_IASetPrimitiveTopology(ID3D12GraphicsCommandList6* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetViewports(ID3D12GraphicsCommandList6* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetScissorRects(ID3D12GraphicsCommandList6* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetBlendFactor(ID3D12GraphicsCommandList6* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetStencilRef(ID3D12GraphicsCommandList6* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetPipelineState(ID3D12GraphicsCommandList6* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResourceBarrier(ID3D12GraphicsCommandList6* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ExecuteBundle(ID3D12GraphicsCommandList6* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetDescriptorHeaps(ID3D12GraphicsCommandList6* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootSignature(ID3D12GraphicsCommandList6* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootSignature(ID3D12GraphicsCommandList6* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList6* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_IASetIndexBuffer(ID3D12GraphicsCommandList6* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_IASetVertexBuffers(ID3D12GraphicsCommandList6* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SOSetTargets(ID3D12GraphicsCommandList6* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetRenderTargets(ID3D12GraphicsCommandList6* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearDepthStencilView(ID3D12GraphicsCommandList6* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearRenderTargetView(ID3D12GraphicsCommandList6* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList6* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList6* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_DiscardResource(ID3D12GraphicsCommandList6* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_BeginQuery(ID3D12GraphicsCommandList6* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_EndQuery(ID3D12GraphicsCommandList6* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResolveQueryData(ID3D12GraphicsCommandList6* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetPredication(ID3D12GraphicsCommandList6* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetMarker(ID3D12GraphicsCommandList6* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_BeginEvent(ID3D12GraphicsCommandList6* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_EndEvent(ID3D12GraphicsCommandList6* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ExecuteIndirect(ID3D12GraphicsCommandList6* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
/*** ID3D12GraphicsCommandList1 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList6_AtomicCopyBufferUINT(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_OMSetDepthBounds(ID3D12GraphicsCommandList6* This,FLOAT min,FLOAT max) {
This->lpVtbl->OMSetDepthBounds(This,min,max);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetSamplePositions(ID3D12GraphicsCommandList6* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) {
This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ResolveSubresourceRegion(ID3D12GraphicsCommandList6* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) {
This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetViewInstanceMask(ID3D12GraphicsCommandList6* This,UINT mask) {
This->lpVtbl->SetViewInstanceMask(This,mask);
}
/*** ID3D12GraphicsCommandList2 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList6_WriteBufferImmediate(ID3D12GraphicsCommandList6* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) {
This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes);
}
/*** ID3D12GraphicsCommandList3 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetProtectedResourceSession(ID3D12GraphicsCommandList6* This,ID3D12ProtectedResourceSession *protected_resource_session) {
This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session);
}
/*** ID3D12GraphicsCommandList4 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList6_BeginRenderPass(ID3D12GraphicsCommandList6* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) {
This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_EndRenderPass(ID3D12GraphicsCommandList6* This) {
This->lpVtbl->EndRenderPass(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_InitializeMetaCommand(ID3D12GraphicsCommandList6* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) {
This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_ExecuteMetaCommand(ID3D12GraphicsCommandList6* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) {
This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList6* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) {
This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList6* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) {
This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList6* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) {
This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_SetPipelineState1(ID3D12GraphicsCommandList6* This,ID3D12StateObject *state_object) {
This->lpVtbl->SetPipelineState1(This,state_object);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_DispatchRays(ID3D12GraphicsCommandList6* This,const D3D12_DISPATCH_RAYS_DESC *desc) {
This->lpVtbl->DispatchRays(This,desc);
}
/*** ID3D12GraphicsCommandList5 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetShadingRate(ID3D12GraphicsCommandList6* This,D3D12_SHADING_RATE base_shading_rate,const D3D12_SHADING_RATE_COMBINER *combiners) {
This->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList6_RSSetShadingRateImage(ID3D12GraphicsCommandList6* This,ID3D12Resource *shading_rate_image) {
This->lpVtbl->RSSetShadingRateImage(This,shading_rate_image);
}
/*** ID3D12GraphicsCommandList6 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList6_DispatchMesh(ID3D12GraphicsCommandList6* This,UINT thread_group_count_x,UINT thread_group_count_y,UINT thread_group_count_z) {
This->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList6_INTERFACE_DEFINED__ */
/*****************************************************************************
* ID3D12GraphicsCommandList7 interface
*/
#ifndef __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
#define __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__
DEFINE_GUID(IID_ID3D12GraphicsCommandList7, 0xdd171223, 0x8b61, 0x4769, 0x90,0xe3, 0x16,0x0c,0xcd,0xe4,0xe2,0xc1);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dd171223-8b61-4769-90e3-160ccde4e2c1")
ID3D12GraphicsCommandList7 : public ID3D12GraphicsCommandList6
{
virtual void STDMETHODCALLTYPE Barrier(
UINT32 barrier_groups_count,
const D3D12_BARRIER_GROUP *barrier_groups) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(ID3D12GraphicsCommandList7, 0xdd171223, 0x8b61, 0x4769, 0x90,0xe3, 0x16,0x0c,0xcd,0xe4,0xe2,0xc1)
#endif
#else
typedef struct ID3D12GraphicsCommandList7Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
ID3D12GraphicsCommandList7 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
ID3D12GraphicsCommandList7 *This);
ULONG (STDMETHODCALLTYPE *Release)(
ID3D12GraphicsCommandList7 *This);
/*** ID3D12Object methods ***/
HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
ID3D12GraphicsCommandList7 *This,
REFGUID guid,
UINT *data_size,
void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
ID3D12GraphicsCommandList7 *This,
REFGUID guid,
UINT data_size,
const void *data);
HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
ID3D12GraphicsCommandList7 *This,
REFGUID guid,
const IUnknown *data);
HRESULT (STDMETHODCALLTYPE *SetName)(
ID3D12GraphicsCommandList7 *This,
const WCHAR *name);
/*** ID3D12DeviceChild methods ***/
HRESULT (STDMETHODCALLTYPE *GetDevice)(
ID3D12GraphicsCommandList7 *This,
REFIID riid,
void **device);
/*** ID3D12CommandList methods ***/
D3D12_COMMAND_LIST_TYPE (STDMETHODCALLTYPE *GetType)(
ID3D12GraphicsCommandList7 *This);
/*** ID3D12GraphicsCommandList methods ***/
HRESULT (STDMETHODCALLTYPE *Close)(
ID3D12GraphicsCommandList7 *This);
HRESULT (STDMETHODCALLTYPE *Reset)(
ID3D12GraphicsCommandList7 *This,
ID3D12CommandAllocator *allocator,
ID3D12PipelineState *initial_state);
void (STDMETHODCALLTYPE *ClearState)(
ID3D12GraphicsCommandList7 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *DrawInstanced)(
ID3D12GraphicsCommandList7 *This,
UINT vertex_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *DrawIndexedInstanced)(
ID3D12GraphicsCommandList7 *This,
UINT index_count_per_instance,
UINT instance_count,
UINT start_vertex_location,
INT base_vertex_location,
UINT start_instance_location);
void (STDMETHODCALLTYPE *Dispatch)(
ID3D12GraphicsCommandList7 *This,
UINT x,
UINT u,
UINT z);
void (STDMETHODCALLTYPE *CopyBufferRegion)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT64 byte_count);
void (STDMETHODCALLTYPE *CopyTextureRegion)(
ID3D12GraphicsCommandList7 *This,
const D3D12_TEXTURE_COPY_LOCATION *dst,
UINT dst_x,
UINT dst_y,
UINT dst_z,
const D3D12_TEXTURE_COPY_LOCATION *src,
const D3D12_BOX *src_box);
void (STDMETHODCALLTYPE *CopyResource)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *dst_resource,
ID3D12Resource *src_resource);
void (STDMETHODCALLTYPE *CopyTiles)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *tiled_resource,
const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,
const D3D12_TILE_REGION_SIZE *tile_region_size,
ID3D12Resource *buffer,
UINT64 buffer_offset,
D3D12_TILE_COPY_FLAGS flags);
void (STDMETHODCALLTYPE *ResolveSubresource)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource,
ID3D12Resource *src_resource,
UINT src_sub_resource,
DXGI_FORMAT format);
void (STDMETHODCALLTYPE *IASetPrimitiveTopology)(
ID3D12GraphicsCommandList7 *This,
D3D12_PRIMITIVE_TOPOLOGY primitive_topology);
void (STDMETHODCALLTYPE *RSSetViewports)(
ID3D12GraphicsCommandList7 *This,
UINT viewport_count,
const D3D12_VIEWPORT *viewports);
void (STDMETHODCALLTYPE *RSSetScissorRects)(
ID3D12GraphicsCommandList7 *This,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *OMSetBlendFactor)(
ID3D12GraphicsCommandList7 *This,
const FLOAT blend_factor[4]);
void (STDMETHODCALLTYPE *OMSetStencilRef)(
ID3D12GraphicsCommandList7 *This,
UINT stencil_ref);
void (STDMETHODCALLTYPE *SetPipelineState)(
ID3D12GraphicsCommandList7 *This,
ID3D12PipelineState *pipeline_state);
void (STDMETHODCALLTYPE *ResourceBarrier)(
ID3D12GraphicsCommandList7 *This,
UINT barrier_count,
const D3D12_RESOURCE_BARRIER *barriers);
void (STDMETHODCALLTYPE *ExecuteBundle)(
ID3D12GraphicsCommandList7 *This,
ID3D12GraphicsCommandList *command_list);
void (STDMETHODCALLTYPE *SetDescriptorHeaps)(
ID3D12GraphicsCommandList7 *This,
UINT heap_count,
ID3D12DescriptorHeap *const *heaps);
void (STDMETHODCALLTYPE *SetComputeRootSignature)(
ID3D12GraphicsCommandList7 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetGraphicsRootSignature)(
ID3D12GraphicsCommandList7 *This,
ID3D12RootSignature *root_signature);
void (STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
UINT data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
UINT constant_count,
const void *data,
UINT dst_offset);
void (STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
ID3D12GraphicsCommandList7 *This,
UINT root_parameter_index,
D3D12_GPU_VIRTUAL_ADDRESS address);
void (STDMETHODCALLTYPE *IASetIndexBuffer)(
ID3D12GraphicsCommandList7 *This,
const D3D12_INDEX_BUFFER_VIEW *view);
void (STDMETHODCALLTYPE *IASetVertexBuffers)(
ID3D12GraphicsCommandList7 *This,
UINT start_slot,
UINT view_count,
const D3D12_VERTEX_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *SOSetTargets)(
ID3D12GraphicsCommandList7 *This,
UINT start_slot,
UINT view_count,
const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views);
void (STDMETHODCALLTYPE *OMSetRenderTargets)(
ID3D12GraphicsCommandList7 *This,
UINT render_target_descriptor_count,
const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,
WINBOOL single_descriptor_handle,
const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor);
void (STDMETHODCALLTYPE *ClearDepthStencilView)(
ID3D12GraphicsCommandList7 *This,
D3D12_CPU_DESCRIPTOR_HANDLE dsv,
D3D12_CLEAR_FLAGS flags,
FLOAT depth,
UINT8 stencil,
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearRenderTargetView)(
ID3D12GraphicsCommandList7 *This,
D3D12_CPU_DESCRIPTOR_HANDLE rtv,
const FLOAT color[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
ID3D12GraphicsCommandList7 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const UINT values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
ID3D12GraphicsCommandList7 *This,
D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,
D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,
ID3D12Resource *resource,
const float values[4],
UINT rect_count,
const D3D12_RECT *rects);
void (STDMETHODCALLTYPE *DiscardResource)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *resource,
const D3D12_DISCARD_REGION *region);
void (STDMETHODCALLTYPE *BeginQuery)(
ID3D12GraphicsCommandList7 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *EndQuery)(
ID3D12GraphicsCommandList7 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT index);
void (STDMETHODCALLTYPE *ResolveQueryData)(
ID3D12GraphicsCommandList7 *This,
ID3D12QueryHeap *heap,
D3D12_QUERY_TYPE type,
UINT start_index,
UINT query_count,
ID3D12Resource *dst_buffer,
UINT64 aligned_dst_buffer_offset);
void (STDMETHODCALLTYPE *SetPredication)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *buffer,
UINT64 aligned_buffer_offset,
D3D12_PREDICATION_OP operation);
void (STDMETHODCALLTYPE *SetMarker)(
ID3D12GraphicsCommandList7 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *BeginEvent)(
ID3D12GraphicsCommandList7 *This,
UINT metadata,
const void *data,
UINT size);
void (STDMETHODCALLTYPE *EndEvent)(
ID3D12GraphicsCommandList7 *This);
void (STDMETHODCALLTYPE *ExecuteIndirect)(
ID3D12GraphicsCommandList7 *This,
ID3D12CommandSignature *command_signature,
UINT max_command_count,
ID3D12Resource *arg_buffer,
UINT64 arg_buffer_offset,
ID3D12Resource *count_buffer,
UINT64 count_buffer_offset);
/*** ID3D12GraphicsCommandList1 methods ***/
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *AtomicCopyBufferUINT64)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *dst_buffer,
UINT64 dst_offset,
ID3D12Resource *src_buffer,
UINT64 src_offset,
UINT dependent_resource_count,
ID3D12Resource *const *dependent_resources,
const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges);
void (STDMETHODCALLTYPE *OMSetDepthBounds)(
ID3D12GraphicsCommandList7 *This,
FLOAT min,
FLOAT max);
void (STDMETHODCALLTYPE *SetSamplePositions)(
ID3D12GraphicsCommandList7 *This,
UINT sample_count,
UINT pixel_count,
D3D12_SAMPLE_POSITION *sample_positions);
void (STDMETHODCALLTYPE *ResolveSubresourceRegion)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *dst_resource,
UINT dst_sub_resource_idx,
UINT dst_x,
UINT dst_y,
ID3D12Resource *src_resource,
UINT src_sub_resource_idx,
D3D12_RECT *src_rect,
DXGI_FORMAT format,
D3D12_RESOLVE_MODE mode);
void (STDMETHODCALLTYPE *SetViewInstanceMask)(
ID3D12GraphicsCommandList7 *This,
UINT mask);
/*** ID3D12GraphicsCommandList2 methods ***/
void (STDMETHODCALLTYPE *WriteBufferImmediate)(
ID3D12GraphicsCommandList7 *This,
UINT count,
const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,
const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes);
/*** ID3D12GraphicsCommandList3 methods ***/
void (STDMETHODCALLTYPE *SetProtectedResourceSession)(
ID3D12GraphicsCommandList7 *This,
ID3D12ProtectedResourceSession *protected_resource_session);
/*** ID3D12GraphicsCommandList4 methods ***/
void (STDMETHODCALLTYPE *BeginRenderPass)(
ID3D12GraphicsCommandList7 *This,
UINT render_targets_count,
const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,
const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,
D3D12_RENDER_PASS_FLAGS flags);
void (STDMETHODCALLTYPE *EndRenderPass)(
ID3D12GraphicsCommandList7 *This);
void (STDMETHODCALLTYPE *InitializeMetaCommand)(
ID3D12GraphicsCommandList7 *This,
ID3D12MetaCommand *meta_command,
const void *initialization_parameters_data,
SIZE_T initialization_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *ExecuteMetaCommand)(
ID3D12GraphicsCommandList7 *This,
ID3D12MetaCommand *meta_command,
const void *execution_parameters_data,
SIZE_T execution_parameters_data_size_in_bytes);
void (STDMETHODCALLTYPE *BuildRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList7 *This,
const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,
UINT postbuild_info_descs_count,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs);
void (STDMETHODCALLTYPE *EmitRaytracingAccelerationStructurePostbuildInfo)(
ID3D12GraphicsCommandList7 *This,
const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,
UINT src_acceleration_structures_count,
const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data);
void (STDMETHODCALLTYPE *CopyRaytracingAccelerationStructure)(
ID3D12GraphicsCommandList7 *This,
D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,
D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode);
void (STDMETHODCALLTYPE *SetPipelineState1)(
ID3D12GraphicsCommandList7 *This,
ID3D12StateObject *state_object);
void (STDMETHODCALLTYPE *DispatchRays)(
ID3D12GraphicsCommandList7 *This,
const D3D12_DISPATCH_RAYS_DESC *desc);
/*** ID3D12GraphicsCommandList5 methods ***/
void (STDMETHODCALLTYPE *RSSetShadingRate)(
ID3D12GraphicsCommandList7 *This,
D3D12_SHADING_RATE base_shading_rate,
const D3D12_SHADING_RATE_COMBINER *combiners);
void (STDMETHODCALLTYPE *RSSetShadingRateImage)(
ID3D12GraphicsCommandList7 *This,
ID3D12Resource *shading_rate_image);
/*** ID3D12GraphicsCommandList6 methods ***/
void (STDMETHODCALLTYPE *DispatchMesh)(
ID3D12GraphicsCommandList7 *This,
UINT thread_group_count_x,
UINT thread_group_count_y,
UINT thread_group_count_z);
/*** ID3D12GraphicsCommandList7 methods ***/
void (STDMETHODCALLTYPE *Barrier)(
ID3D12GraphicsCommandList7 *This,
UINT32 barrier_groups_count,
const D3D12_BARRIER_GROUP *barrier_groups);
END_INTERFACE
} ID3D12GraphicsCommandList7Vtbl;
interface ID3D12GraphicsCommandList7 {
CONST_VTBL ID3D12GraphicsCommandList7Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define ID3D12GraphicsCommandList7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define ID3D12GraphicsCommandList7_AddRef(This) (This)->lpVtbl->AddRef(This)
#define ID3D12GraphicsCommandList7_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D12Object methods ***/
#define ID3D12GraphicsCommandList7_GetPrivateData(This,guid,data_size,data) (This)->lpVtbl->GetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList7_SetPrivateData(This,guid,data_size,data) (This)->lpVtbl->SetPrivateData(This,guid,data_size,data)
#define ID3D12GraphicsCommandList7_SetPrivateDataInterface(This,guid,data) (This)->lpVtbl->SetPrivateDataInterface(This,guid,data)
#define ID3D12GraphicsCommandList7_SetName(This,name) (This)->lpVtbl->SetName(This,name)
/*** ID3D12DeviceChild methods ***/
#define ID3D12GraphicsCommandList7_GetDevice(This,riid,device) (This)->lpVtbl->GetDevice(This,riid,device)
/*** ID3D12CommandList methods ***/
#define ID3D12GraphicsCommandList7_GetType(This) (This)->lpVtbl->GetType(This)
/*** ID3D12GraphicsCommandList methods ***/
#define ID3D12GraphicsCommandList7_Close(This) (This)->lpVtbl->Close(This)
#define ID3D12GraphicsCommandList7_Reset(This,allocator,initial_state) (This)->lpVtbl->Reset(This,allocator,initial_state)
#define ID3D12GraphicsCommandList7_ClearState(This,pipeline_state) (This)->lpVtbl->ClearState(This,pipeline_state)
#define ID3D12GraphicsCommandList7_DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location) (This)->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList7_DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location) (This)->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location)
#define ID3D12GraphicsCommandList7_Dispatch(This,x,u,z) (This)->lpVtbl->Dispatch(This,x,u,z)
#define ID3D12GraphicsCommandList7_CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count) (This)->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count)
#define ID3D12GraphicsCommandList7_CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box) (This)->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box)
#define ID3D12GraphicsCommandList7_CopyResource(This,dst_resource,src_resource) (This)->lpVtbl->CopyResource(This,dst_resource,src_resource)
#define ID3D12GraphicsCommandList7_CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags) (This)->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags)
#define ID3D12GraphicsCommandList7_ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format) (This)->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format)
#define ID3D12GraphicsCommandList7_IASetPrimitiveTopology(This,primitive_topology) (This)->lpVtbl->IASetPrimitiveTopology(This,primitive_topology)
#define ID3D12GraphicsCommandList7_RSSetViewports(This,viewport_count,viewports) (This)->lpVtbl->RSSetViewports(This,viewport_count,viewports)
#define ID3D12GraphicsCommandList7_RSSetScissorRects(This,rect_count,rects) (This)->lpVtbl->RSSetScissorRects(This,rect_count,rects)
#define ID3D12GraphicsCommandList7_OMSetBlendFactor(This,blend_factor) (This)->lpVtbl->OMSetBlendFactor(This,blend_factor)
#define ID3D12GraphicsCommandList7_OMSetStencilRef(This,stencil_ref) (This)->lpVtbl->OMSetStencilRef(This,stencil_ref)
#define ID3D12GraphicsCommandList7_SetPipelineState(This,pipeline_state) (This)->lpVtbl->SetPipelineState(This,pipeline_state)
#define ID3D12GraphicsCommandList7_ResourceBarrier(This,barrier_count,barriers) (This)->lpVtbl->ResourceBarrier(This,barrier_count,barriers)
#define ID3D12GraphicsCommandList7_ExecuteBundle(This,command_list) (This)->lpVtbl->ExecuteBundle(This,command_list)
#define ID3D12GraphicsCommandList7_SetDescriptorHeaps(This,heap_count,heaps) (This)->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps)
#define ID3D12GraphicsCommandList7_SetComputeRootSignature(This,root_signature) (This)->lpVtbl->SetComputeRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList7_SetGraphicsRootSignature(This,root_signature) (This)->lpVtbl->SetGraphicsRootSignature(This,root_signature)
#define ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor) (This)->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor)
#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset)
#define ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset) (This)->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset)
#define ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address) (This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address)
#define ID3D12GraphicsCommandList7_IASetIndexBuffer(This,view) (This)->lpVtbl->IASetIndexBuffer(This,view)
#define ID3D12GraphicsCommandList7_IASetVertexBuffers(This,start_slot,view_count,views) (This)->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList7_SOSetTargets(This,start_slot,view_count,views) (This)->lpVtbl->SOSetTargets(This,start_slot,view_count,views)
#define ID3D12GraphicsCommandList7_OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor) (This)->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor)
#define ID3D12GraphicsCommandList7_ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects) (This)->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects)
#define ID3D12GraphicsCommandList7_ClearRenderTargetView(This,rtv,color,rect_count,rects) (This)->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects)
#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects) (This)->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects)
#define ID3D12GraphicsCommandList7_DiscardResource(This,resource,region) (This)->lpVtbl->DiscardResource(This,resource,region)
#define ID3D12GraphicsCommandList7_BeginQuery(This,heap,type,index) (This)->lpVtbl->BeginQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList7_EndQuery(This,heap,type,index) (This)->lpVtbl->EndQuery(This,heap,type,index)
#define ID3D12GraphicsCommandList7_ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset) (This)->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset)
#define ID3D12GraphicsCommandList7_SetPredication(This,buffer,aligned_buffer_offset,operation) (This)->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation)
#define ID3D12GraphicsCommandList7_SetMarker(This,metadata,data,size) (This)->lpVtbl->SetMarker(This,metadata,data,size)
#define ID3D12GraphicsCommandList7_BeginEvent(This,metadata,data,size) (This)->lpVtbl->BeginEvent(This,metadata,data,size)
#define ID3D12GraphicsCommandList7_EndEvent(This) (This)->lpVtbl->EndEvent(This)
#define ID3D12GraphicsCommandList7_ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset) (This)->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset)
/*** ID3D12GraphicsCommandList1 methods ***/
#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges) (This)->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges)
#define ID3D12GraphicsCommandList7_OMSetDepthBounds(This,min,max) (This)->lpVtbl->OMSetDepthBounds(This,min,max)
#define ID3D12GraphicsCommandList7_SetSamplePositions(This,sample_count,pixel_count,sample_positions) (This)->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions)
#define ID3D12GraphicsCommandList7_ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode) (This)->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode)
#define ID3D12GraphicsCommandList7_SetViewInstanceMask(This,mask) (This)->lpVtbl->SetViewInstanceMask(This,mask)
/*** ID3D12GraphicsCommandList2 methods ***/
#define ID3D12GraphicsCommandList7_WriteBufferImmediate(This,count,parameters,modes) (This)->lpVtbl->WriteBufferImmediate(This,count,parameters,modes)
/*** ID3D12GraphicsCommandList3 methods ***/
#define ID3D12GraphicsCommandList7_SetProtectedResourceSession(This,protected_resource_session) (This)->lpVtbl->SetProtectedResourceSession(This,protected_resource_session)
/*** ID3D12GraphicsCommandList4 methods ***/
#define ID3D12GraphicsCommandList7_BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags) (This)->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags)
#define ID3D12GraphicsCommandList7_EndRenderPass(This) (This)->lpVtbl->EndRenderPass(This)
#define ID3D12GraphicsCommandList7_InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes) (This)->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList7_ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes) (This)->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes)
#define ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs) (This)->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs)
#define ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data) (This)->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data)
#define ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode) (This)->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode)
#define ID3D12GraphicsCommandList7_SetPipelineState1(This,state_object) (This)->lpVtbl->SetPipelineState1(This,state_object)
#define ID3D12GraphicsCommandList7_DispatchRays(This,desc) (This)->lpVtbl->DispatchRays(This,desc)
/*** ID3D12GraphicsCommandList5 methods ***/
#define ID3D12GraphicsCommandList7_RSSetShadingRate(This,base_shading_rate,combiners) (This)->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners)
#define ID3D12GraphicsCommandList7_RSSetShadingRateImage(This,shading_rate_image) (This)->lpVtbl->RSSetShadingRateImage(This,shading_rate_image)
/*** ID3D12GraphicsCommandList6 methods ***/
#define ID3D12GraphicsCommandList7_DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z) (This)->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z)
/*** ID3D12GraphicsCommandList7 methods ***/
#define ID3D12GraphicsCommandList7_Barrier(This,barrier_groups_count,barrier_groups) (This)->lpVtbl->Barrier(This,barrier_groups_count,barrier_groups)
#else
/*** IUnknown methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_QueryInterface(ID3D12GraphicsCommandList7* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList7_AddRef(ID3D12GraphicsCommandList7* This) {
return This->lpVtbl->AddRef(This);
}
static __WIDL_INLINE ULONG ID3D12GraphicsCommandList7_Release(ID3D12GraphicsCommandList7* This) {
return This->lpVtbl->Release(This);
}
/*** ID3D12Object methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_GetPrivateData(ID3D12GraphicsCommandList7* This,REFGUID guid,UINT *data_size,void *data) {
return This->lpVtbl->GetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_SetPrivateData(ID3D12GraphicsCommandList7* This,REFGUID guid,UINT data_size,const void *data) {
return This->lpVtbl->SetPrivateData(This,guid,data_size,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_SetPrivateDataInterface(ID3D12GraphicsCommandList7* This,REFGUID guid,const IUnknown *data) {
return This->lpVtbl->SetPrivateDataInterface(This,guid,data);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_SetName(ID3D12GraphicsCommandList7* This,const WCHAR *name) {
return This->lpVtbl->SetName(This,name);
}
/*** ID3D12DeviceChild methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_GetDevice(ID3D12GraphicsCommandList7* This,REFIID riid,void **device) {
return This->lpVtbl->GetDevice(This,riid,device);
}
/*** ID3D12CommandList methods ***/
static __WIDL_INLINE D3D12_COMMAND_LIST_TYPE ID3D12GraphicsCommandList7_GetType(ID3D12GraphicsCommandList7* This) {
return This->lpVtbl->GetType(This);
}
/*** ID3D12GraphicsCommandList methods ***/
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_Close(ID3D12GraphicsCommandList7* This) {
return This->lpVtbl->Close(This);
}
static __WIDL_INLINE HRESULT ID3D12GraphicsCommandList7_Reset(ID3D12GraphicsCommandList7* This,ID3D12CommandAllocator *allocator,ID3D12PipelineState *initial_state) {
return This->lpVtbl->Reset(This,allocator,initial_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearState(ID3D12GraphicsCommandList7* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->ClearState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_DrawInstanced(ID3D12GraphicsCommandList7* This,UINT vertex_count_per_instance,UINT instance_count,UINT start_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawInstanced(This,vertex_count_per_instance,instance_count,start_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_DrawIndexedInstanced(ID3D12GraphicsCommandList7* This,UINT index_count_per_instance,UINT instance_count,UINT start_vertex_location,INT base_vertex_location,UINT start_instance_location) {
This->lpVtbl->DrawIndexedInstanced(This,index_count_per_instance,instance_count,start_vertex_location,base_vertex_location,start_instance_location);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_Dispatch(ID3D12GraphicsCommandList7* This,UINT x,UINT u,UINT z) {
This->lpVtbl->Dispatch(This,x,u,z);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyBufferRegion(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT64 byte_count) {
This->lpVtbl->CopyBufferRegion(This,dst_buffer,dst_offset,src_buffer,src_offset,byte_count);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyTextureRegion(ID3D12GraphicsCommandList7* This,const D3D12_TEXTURE_COPY_LOCATION *dst,UINT dst_x,UINT dst_y,UINT dst_z,const D3D12_TEXTURE_COPY_LOCATION *src,const D3D12_BOX *src_box) {
This->lpVtbl->CopyTextureRegion(This,dst,dst_x,dst_y,dst_z,src,src_box);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyResource(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_resource,ID3D12Resource *src_resource) {
This->lpVtbl->CopyResource(This,dst_resource,src_resource);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyTiles(ID3D12GraphicsCommandList7* This,ID3D12Resource *tiled_resource,const D3D12_TILED_RESOURCE_COORDINATE *tile_region_start_coordinate,const D3D12_TILE_REGION_SIZE *tile_region_size,ID3D12Resource *buffer,UINT64 buffer_offset,D3D12_TILE_COPY_FLAGS flags) {
This->lpVtbl->CopyTiles(This,tiled_resource,tile_region_start_coordinate,tile_region_size,buffer,buffer_offset,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResolveSubresource(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_resource,UINT dst_sub_resource,ID3D12Resource *src_resource,UINT src_sub_resource,DXGI_FORMAT format) {
This->lpVtbl->ResolveSubresource(This,dst_resource,dst_sub_resource,src_resource,src_sub_resource,format);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_IASetPrimitiveTopology(ID3D12GraphicsCommandList7* This,D3D12_PRIMITIVE_TOPOLOGY primitive_topology) {
This->lpVtbl->IASetPrimitiveTopology(This,primitive_topology);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetViewports(ID3D12GraphicsCommandList7* This,UINT viewport_count,const D3D12_VIEWPORT *viewports) {
This->lpVtbl->RSSetViewports(This,viewport_count,viewports);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetScissorRects(ID3D12GraphicsCommandList7* This,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->RSSetScissorRects(This,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetBlendFactor(ID3D12GraphicsCommandList7* This,const FLOAT blend_factor[4]) {
This->lpVtbl->OMSetBlendFactor(This,blend_factor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetStencilRef(ID3D12GraphicsCommandList7* This,UINT stencil_ref) {
This->lpVtbl->OMSetStencilRef(This,stencil_ref);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetPipelineState(ID3D12GraphicsCommandList7* This,ID3D12PipelineState *pipeline_state) {
This->lpVtbl->SetPipelineState(This,pipeline_state);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResourceBarrier(ID3D12GraphicsCommandList7* This,UINT barrier_count,const D3D12_RESOURCE_BARRIER *barriers) {
This->lpVtbl->ResourceBarrier(This,barrier_count,barriers);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ExecuteBundle(ID3D12GraphicsCommandList7* This,ID3D12GraphicsCommandList *command_list) {
This->lpVtbl->ExecuteBundle(This,command_list);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetDescriptorHeaps(ID3D12GraphicsCommandList7* This,UINT heap_count,ID3D12DescriptorHeap *const *heaps) {
This->lpVtbl->SetDescriptorHeaps(This,heap_count,heaps);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootSignature(ID3D12GraphicsCommandList7* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetComputeRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootSignature(ID3D12GraphicsCommandList7* This,ID3D12RootSignature *root_signature) {
This->lpVtbl->SetGraphicsRootSignature(This,root_signature);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootDescriptorTable(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetComputeRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootDescriptorTable(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_DESCRIPTOR_HANDLE base_descriptor) {
This->lpVtbl->SetGraphicsRootDescriptorTable(This,root_parameter_index,base_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRoot32BitConstant(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstant(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstant(This,root_parameter_index,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRoot32BitConstants(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetComputeRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRoot32BitConstants(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,UINT constant_count,const void *data,UINT dst_offset) {
This->lpVtbl->SetGraphicsRoot32BitConstants(This,root_parameter_index,constant_count,data,dst_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootConstantBufferView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootConstantBufferView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootConstantBufferView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootShaderResourceView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootShaderResourceView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootShaderResourceView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetComputeRootUnorderedAccessView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetComputeRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetGraphicsRootUnorderedAccessView(ID3D12GraphicsCommandList7* This,UINT root_parameter_index,D3D12_GPU_VIRTUAL_ADDRESS address) {
This->lpVtbl->SetGraphicsRootUnorderedAccessView(This,root_parameter_index,address);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_IASetIndexBuffer(ID3D12GraphicsCommandList7* This,const D3D12_INDEX_BUFFER_VIEW *view) {
This->lpVtbl->IASetIndexBuffer(This,view);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_IASetVertexBuffers(ID3D12GraphicsCommandList7* This,UINT start_slot,UINT view_count,const D3D12_VERTEX_BUFFER_VIEW *views) {
This->lpVtbl->IASetVertexBuffers(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SOSetTargets(ID3D12GraphicsCommandList7* This,UINT start_slot,UINT view_count,const D3D12_STREAM_OUTPUT_BUFFER_VIEW *views) {
This->lpVtbl->SOSetTargets(This,start_slot,view_count,views);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetRenderTargets(ID3D12GraphicsCommandList7* This,UINT render_target_descriptor_count,const D3D12_CPU_DESCRIPTOR_HANDLE *render_target_descriptors,WINBOOL single_descriptor_handle,const D3D12_CPU_DESCRIPTOR_HANDLE *depth_stencil_descriptor) {
This->lpVtbl->OMSetRenderTargets(This,render_target_descriptor_count,render_target_descriptors,single_descriptor_handle,depth_stencil_descriptor);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearDepthStencilView(ID3D12GraphicsCommandList7* This,D3D12_CPU_DESCRIPTOR_HANDLE dsv,D3D12_CLEAR_FLAGS flags,FLOAT depth,UINT8 stencil,UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearDepthStencilView(This,dsv,flags,depth,stencil,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearRenderTargetView(ID3D12GraphicsCommandList7* This,D3D12_CPU_DESCRIPTOR_HANDLE rtv,const FLOAT color[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearRenderTargetView(This,rtv,color,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearUnorderedAccessViewUint(ID3D12GraphicsCommandList7* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const UINT values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewUint(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ClearUnorderedAccessViewFloat(ID3D12GraphicsCommandList7* This,D3D12_GPU_DESCRIPTOR_HANDLE gpu_handle,D3D12_CPU_DESCRIPTOR_HANDLE cpu_handle,ID3D12Resource *resource,const float values[4],UINT rect_count,const D3D12_RECT *rects) {
This->lpVtbl->ClearUnorderedAccessViewFloat(This,gpu_handle,cpu_handle,resource,values,rect_count,rects);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_DiscardResource(ID3D12GraphicsCommandList7* This,ID3D12Resource *resource,const D3D12_DISCARD_REGION *region) {
This->lpVtbl->DiscardResource(This,resource,region);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_BeginQuery(ID3D12GraphicsCommandList7* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->BeginQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_EndQuery(ID3D12GraphicsCommandList7* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT index) {
This->lpVtbl->EndQuery(This,heap,type,index);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResolveQueryData(ID3D12GraphicsCommandList7* This,ID3D12QueryHeap *heap,D3D12_QUERY_TYPE type,UINT start_index,UINT query_count,ID3D12Resource *dst_buffer,UINT64 aligned_dst_buffer_offset) {
This->lpVtbl->ResolveQueryData(This,heap,type,start_index,query_count,dst_buffer,aligned_dst_buffer_offset);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetPredication(ID3D12GraphicsCommandList7* This,ID3D12Resource *buffer,UINT64 aligned_buffer_offset,D3D12_PREDICATION_OP operation) {
This->lpVtbl->SetPredication(This,buffer,aligned_buffer_offset,operation);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetMarker(ID3D12GraphicsCommandList7* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->SetMarker(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_BeginEvent(ID3D12GraphicsCommandList7* This,UINT metadata,const void *data,UINT size) {
This->lpVtbl->BeginEvent(This,metadata,data,size);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_EndEvent(ID3D12GraphicsCommandList7* This) {
This->lpVtbl->EndEvent(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ExecuteIndirect(ID3D12GraphicsCommandList7* This,ID3D12CommandSignature *command_signature,UINT max_command_count,ID3D12Resource *arg_buffer,UINT64 arg_buffer_offset,ID3D12Resource *count_buffer,UINT64 count_buffer_offset) {
This->lpVtbl->ExecuteIndirect(This,command_signature,max_command_count,arg_buffer,arg_buffer_offset,count_buffer,count_buffer_offset);
}
/*** ID3D12GraphicsCommandList1 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList7_AtomicCopyBufferUINT(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_AtomicCopyBufferUINT64(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_buffer,UINT64 dst_offset,ID3D12Resource *src_buffer,UINT64 src_offset,UINT dependent_resource_count,ID3D12Resource *const *dependent_resources,const D3D12_SUBRESOURCE_RANGE_UINT64 *dependent_sub_resource_ranges) {
This->lpVtbl->AtomicCopyBufferUINT64(This,dst_buffer,dst_offset,src_buffer,src_offset,dependent_resource_count,dependent_resources,dependent_sub_resource_ranges);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_OMSetDepthBounds(ID3D12GraphicsCommandList7* This,FLOAT min,FLOAT max) {
This->lpVtbl->OMSetDepthBounds(This,min,max);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetSamplePositions(ID3D12GraphicsCommandList7* This,UINT sample_count,UINT pixel_count,D3D12_SAMPLE_POSITION *sample_positions) {
This->lpVtbl->SetSamplePositions(This,sample_count,pixel_count,sample_positions);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ResolveSubresourceRegion(ID3D12GraphicsCommandList7* This,ID3D12Resource *dst_resource,UINT dst_sub_resource_idx,UINT dst_x,UINT dst_y,ID3D12Resource *src_resource,UINT src_sub_resource_idx,D3D12_RECT *src_rect,DXGI_FORMAT format,D3D12_RESOLVE_MODE mode) {
This->lpVtbl->ResolveSubresourceRegion(This,dst_resource,dst_sub_resource_idx,dst_x,dst_y,src_resource,src_sub_resource_idx,src_rect,format,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetViewInstanceMask(ID3D12GraphicsCommandList7* This,UINT mask) {
This->lpVtbl->SetViewInstanceMask(This,mask);
}
/*** ID3D12GraphicsCommandList2 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList7_WriteBufferImmediate(ID3D12GraphicsCommandList7* This,UINT count,const D3D12_WRITEBUFFERIMMEDIATE_PARAMETER *parameters,const D3D12_WRITEBUFFERIMMEDIATE_MODE *modes) {
This->lpVtbl->WriteBufferImmediate(This,count,parameters,modes);
}
/*** ID3D12GraphicsCommandList3 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetProtectedResourceSession(ID3D12GraphicsCommandList7* This,ID3D12ProtectedResourceSession *protected_resource_session) {
This->lpVtbl->SetProtectedResourceSession(This,protected_resource_session);
}
/*** ID3D12GraphicsCommandList4 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList7_BeginRenderPass(ID3D12GraphicsCommandList7* This,UINT render_targets_count,const D3D12_RENDER_PASS_RENDER_TARGET_DESC *render_targets,const D3D12_RENDER_PASS_DEPTH_STENCIL_DESC *depth_stencil,D3D12_RENDER_PASS_FLAGS flags) {
This->lpVtbl->BeginRenderPass(This,render_targets_count,render_targets,depth_stencil,flags);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_EndRenderPass(ID3D12GraphicsCommandList7* This) {
This->lpVtbl->EndRenderPass(This);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_InitializeMetaCommand(ID3D12GraphicsCommandList7* This,ID3D12MetaCommand *meta_command,const void *initialization_parameters_data,SIZE_T initialization_parameters_data_size_in_bytes) {
This->lpVtbl->InitializeMetaCommand(This,meta_command,initialization_parameters_data,initialization_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_ExecuteMetaCommand(ID3D12GraphicsCommandList7* This,ID3D12MetaCommand *meta_command,const void *execution_parameters_data,SIZE_T execution_parameters_data_size_in_bytes) {
This->lpVtbl->ExecuteMetaCommand(This,meta_command,execution_parameters_data,execution_parameters_data_size_in_bytes);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_BuildRaytracingAccelerationStructure(ID3D12GraphicsCommandList7* This,const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC *desc,UINT postbuild_info_descs_count,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *postbuild_info_descs) {
This->lpVtbl->BuildRaytracingAccelerationStructure(This,desc,postbuild_info_descs_count,postbuild_info_descs);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_EmitRaytracingAccelerationStructurePostbuildInfo(ID3D12GraphicsCommandList7* This,const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC *desc,UINT src_acceleration_structures_count,const D3D12_GPU_VIRTUAL_ADDRESS *src_acceleration_structure_data) {
This->lpVtbl->EmitRaytracingAccelerationStructurePostbuildInfo(This,desc,src_acceleration_structures_count,src_acceleration_structure_data);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_CopyRaytracingAccelerationStructure(ID3D12GraphicsCommandList7* This,D3D12_GPU_VIRTUAL_ADDRESS dst_acceleration_structure_data,D3D12_GPU_VIRTUAL_ADDRESS src_acceleration_structure_data,D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODE mode) {
This->lpVtbl->CopyRaytracingAccelerationStructure(This,dst_acceleration_structure_data,src_acceleration_structure_data,mode);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_SetPipelineState1(ID3D12GraphicsCommandList7* This,ID3D12StateObject *state_object) {
This->lpVtbl->SetPipelineState1(This,state_object);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_DispatchRays(ID3D12GraphicsCommandList7* This,const D3D12_DISPATCH_RAYS_DESC *desc) {
This->lpVtbl->DispatchRays(This,desc);
}
/*** ID3D12GraphicsCommandList5 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetShadingRate(ID3D12GraphicsCommandList7* This,D3D12_SHADING_RATE base_shading_rate,const D3D12_SHADING_RATE_COMBINER *combiners) {
This->lpVtbl->RSSetShadingRate(This,base_shading_rate,combiners);
}
static __WIDL_INLINE void ID3D12GraphicsCommandList7_RSSetShadingRateImage(ID3D12GraphicsCommandList7* This,ID3D12Resource *shading_rate_image) {
This->lpVtbl->RSSetShadingRateImage(This,shading_rate_image);
}
/*** ID3D12GraphicsCommandList6 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList7_DispatchMesh(ID3D12GraphicsCommandList7* This,UINT thread_group_count_x,UINT thread_group_count_y,UINT thread_group_count_z) {
This->lpVtbl->DispatchMesh(This,thread_group_count_x,thread_group_count_y,thread_group_count_z);
}
/*** ID3D12GraphicsCommandList7 methods ***/
static __WIDL_INLINE void ID3D12GraphicsCommandList7_Barrier(ID3D12GraphicsCommandList7* This,UINT32 barrier_groups_count,const D3D12_BARRIER_GROUP *barrier_groups) {
This->lpVtbl->Barrier(This,barrier_groups_count,barrier_groups);
}
#endif
#endif
#endif
#endif /* __ID3D12GraphicsCommandList7_INTERFACE_DEFINED__ */
#ifndef D3D12_IGNORE_SDK_LAYERS
#include "d3d12sdklayers.h"
#endif
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER)(const void *data,SIZE_T data_size,REFIID iid,void **deserializer);
HRESULT __stdcall D3D12CreateRootSignatureDeserializer(const void *data,SIZE_T data_size,REFIID iid,void **deserializer);
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_VERSIONED_ROOT_SIGNATURE_DESERIALIZER)(const void *data,SIZE_T data_size,REFIID iid,void **deserializer);
HRESULT __stdcall D3D12CreateVersionedRootSignatureDeserializer(const void *data,SIZE_T data_size,REFIID iid,void **deserializer);
typedef HRESULT (__stdcall *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc,D3D_ROOT_SIGNATURE_VERSION version,ID3DBlob **blob,ID3DBlob **error_blob);
HRESULT __stdcall D3D12SerializeRootSignature(const D3D12_ROOT_SIGNATURE_DESC *root_signature_desc,D3D_ROOT_SIGNATURE_VERSION version,ID3DBlob **blob,ID3DBlob **error_blob);
typedef HRESULT (__stdcall *PFN_D3D12_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *desc,ID3DBlob **blob,ID3DBlob **error_blob);
HRESULT __stdcall D3D12SerializeVersionedRootSignature(const D3D12_VERSIONED_ROOT_SIGNATURE_DESC *root_signature_desc,ID3DBlob **blob,ID3DBlob **error_blob);
typedef HRESULT (__stdcall *PFN_D3D12_CREATE_DEVICE)(IUnknown *adapter,D3D_FEATURE_LEVEL minimum_feature_level,REFIID iid,void **device);
HRESULT __stdcall D3D12CreateDevice(IUnknown *adapter,D3D_FEATURE_LEVEL minimum_feature_level,REFIID iid,void **device);
typedef HRESULT (__stdcall *PFN_D3D12_GET_DEBUG_INTERFACE)(REFIID iid,void **debug);
HRESULT __stdcall D3D12GetDebugInterface(REFIID iid,void **debug);
HRESULT __stdcall D3D12EnableExperimentalFeatures(UINT feature_count,const IID *iids,void *configurations,UINT *configurations_sizes);
static const UUID D3D12ExperimentalShaderModels = { 0x76f5573e, 0xf13a, 0x40f5, { 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f } };
static const UUID D3D12TiledResourceTier4 = { 0xc9c4725f, 0xa81a, 0x4f56, { 0x8c, 0x5b, 0xc5, 0x10, 0x39, 0xd6, 0x94, 0xfb } };
static const UUID D3D12MetaCommand = { 0xc734c97e, 0x8077, 0x48c8, { 0x9f, 0xdc, 0xd9, 0xd1, 0xdd, 0x31, 0xdd, 0x77 } };
typedef HRESULT (__stdcall *PFN_D3D12_GET_INTERFACE)(REFCLSID clsid,REFIID iid,void **debug);
HRESULT __stdcall D3D12GetInterface(REFCLSID clsid,REFIID iid,void **debug);
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __d3d12_h__ */