Update to latest stable D3D12 headers 1.616.1

This commit is contained in:
baldurk
2025-09-16 18:21:03 +01:00
parent 7ef361fec5
commit 4998542c06
12 changed files with 6291 additions and 445 deletions
+63 -1
View File
@@ -192,6 +192,37 @@ HRESULT STDMETHODCALLTYPE WrappedDownlevelDevice::QueryVideoMemoryInfo(
return m_pDevice.QueryVideoMemoryInfo(NodeIndex, MemorySegmentGroup, pVideoMemoryInfo);
}
HRESULT STDMETHODCALLTYPE WrappedDeviceTools::QueryInterface(REFIID riid, void **ppvObject)
{
return m_pDevice.QueryInterface(riid, ppvObject);
}
ULONG STDMETHODCALLTYPE WrappedDeviceTools::AddRef()
{
return m_pDevice.AddRef();
}
ULONG STDMETHODCALLTYPE WrappedDeviceTools::Release()
{
return m_pDevice.Release();
}
void STDMETHODCALLTYPE WrappedDeviceTools::SetNextAllocationAddress(UINT64 pVirtualAddress)
{
return m_pDevice.SetNextAllocationAddress(pVirtualAddress);
}
HRESULT STDMETHODCALLTYPE
WrappedDeviceTools::GetApplicationSpecificDriverState(_COM_Outptr_ ID3DBlob **ppBlob)
{
return m_pDevice.GetApplicationSpecificDriverState(ppBlob);
}
D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS STDMETHODCALLTYPE
WrappedDeviceTools::GetApplicationSpecificDriverBlobStatus(void)
{
return m_pDevice.GetApplicationSpecificDriverBlobStatus();
}
HRESULT STDMETHODCALLTYPE WrappedID3D12SharingContract::QueryInterface(REFIID riid, void **ppvObject)
{
return m_pDevice.QueryInterface(riid, ppvObject);
@@ -525,6 +556,7 @@ WrappedID3D12Device::WrappedID3D12Device(ID3D12Device *realDevice, D3D12InitPara
m_pDevice(realDevice),
m_debugLayerEnabled(enabledDebugLayer),
m_WrappedDownlevel(*this),
m_WrappedDeviceTools(*this),
m_DRED(*this),
m_DREDSettings(*this),
m_SharingContract(*this),
@@ -593,6 +625,8 @@ WrappedID3D12Device::WrappedID3D12Device(ID3D12Device *realDevice, D3D12InitPara
m_pDevice->QueryInterface(__uuidof(ID3D12DeviceRemovedExtendedDataSettings2),
(void **)&m_DREDSettings.m_pReal2);
m_pDevice->QueryInterface(__uuidof(ID3D12DeviceDownlevel), (void **)&m_pDownlevel);
m_pDevice->QueryInterface(__uuidof(ID3D12DeviceTools), (void **)&m_pDeviceTools);
m_pDevice->QueryInterface(__uuidof(ID3D12DeviceTools1), (void **)&m_pDeviceTools1);
m_pDevice->QueryInterface(__uuidof(ID3D12CompatibilityDevice), (void **)&m_CompatDevice.m_pReal);
m_pDevice->QueryInterface(__uuidof(ID3D12SharingContract), (void **)&m_SharingContract.m_pReal);
@@ -1325,6 +1359,32 @@ HRESULT WrappedID3D12Device::QueryInterface(REFIID riid, void **ppvObject)
return E_NOINTERFACE;
}
}
else if(riid == __uuidof(ID3D12DeviceTools))
{
if(m_pDeviceTools)
{
*ppvObject = &m_WrappedDeviceTools;
AddRef();
return S_OK;
}
else
{
return E_NOINTERFACE;
}
}
else if(riid == __uuidof(ID3D12DeviceTools1))
{
if(m_pDeviceTools1)
{
*ppvObject = &m_WrappedDeviceTools;
AddRef();
return S_OK;
}
else
{
return E_NOINTERFACE;
}
}
else if(riid == __uuidof(ID3D12InfoQueue))
{
RDCWARN(
@@ -1753,7 +1813,9 @@ bool WrappedID3D12Device::Serialise_WrapSwapchainBuffer(SerialiserType &ser, IDX
DXGI_FORMAT bufferFormat, UINT Buffer,
IUnknown *realSurface)
{
WrappedID3D12Resource *pRes = (WrappedID3D12Resource *)realSurface;
WrappedID3D12Resource *pRes =
(WrappedID3D12Resource *)(WrappedDeviceChild12<ID3D12Resource, ID3D12Resource1, ID3D12Resource2> *)
realSurface;
SERIALISE_ELEMENT(Buffer);
SERIALISE_ELEMENT_LOCAL(SwapbufferID, GetResID(pRes)).TypedAs("ID3D12Resource *"_lit);
+49
View File
@@ -336,6 +336,27 @@ struct WrappedDownlevelDevice : public ID3D12DeviceDownlevel
_Out_ DXGI_QUERY_VIDEO_MEMORY_INFO *pVideoMemoryInfo);
};
struct WrappedDeviceTools : public ID3D12DeviceTools
{
WrappedID3D12Device &m_pDevice;
WrappedDeviceTools(WrappedID3D12Device &dev) : m_pDevice(dev) {}
//////////////////////////////
// implement IUnknown
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
ULONG STDMETHODCALLTYPE AddRef();
ULONG STDMETHODCALLTYPE Release();
//////////////////////////////
// implement ID3D12DeviceTools
virtual void STDMETHODCALLTYPE SetNextAllocationAddress(UINT64 pVirtualAddress);
//////////////////////////////
// implement ID3D12DeviceTools1
virtual HRESULT STDMETHODCALLTYPE GetApplicationSpecificDriverState(_COM_Outptr_ ID3DBlob **ppBlob);
virtual D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS STDMETHODCALLTYPE
GetApplicationSpecificDriverBlobStatus(void);
};
struct WrappedDRED : public ID3D12DeviceRemovedExtendedData1
{
WrappedID3D12Device &m_pDevice;
@@ -587,6 +608,8 @@ private:
ID3D12Device12 *m_pDevice12;
ID3D12Device13 *m_pDevice13;
ID3D12Device14 *m_pDevice14;
ID3D12DeviceTools *m_pDeviceTools = NULL;
ID3D12DeviceTools1 *m_pDeviceTools1 = NULL;
ID3D12DeviceDownlevel *m_pDownlevel;
WrappedID3D12DeviceConfiguration m_DevConfig;
@@ -646,6 +669,7 @@ private:
ID3D12GraphicsCommandList *m_OverlayLists[MaxOverlayInFlight] = {};
WrappedDownlevelDevice m_WrappedDownlevel;
WrappedDeviceTools m_WrappedDeviceTools;
WrappedDRED m_DRED;
WrappedDREDSettings m_DREDSettings;
WrappedCompatibilityDevice m_CompatDevice;
@@ -1871,4 +1895,29 @@ public:
_In_reads_(blobLengthInBytes) const void *pLibraryBlob,
_In_ SIZE_T blobLengthInBytes, _In_opt_ LPCWSTR subobjectName,
REFIID riid, _COM_Outptr_ void **ppvRootSignature);
//////////////////////////////
// implement ID3D12DeviceTools
virtual void STDMETHODCALLTYPE SetNextAllocationAddress(UINT64 pVirtualAddress)
{
if(m_pDeviceTools)
m_pDeviceTools->SetNextAllocationAddress(pVirtualAddress);
}
//////////////////////////////
// implement ID3D12DeviceTools1
virtual HRESULT STDMETHODCALLTYPE GetApplicationSpecificDriverState(_COM_Outptr_ ID3DBlob **ppBlob)
{
if(m_pDeviceTools1)
return m_pDeviceTools1->GetApplicationSpecificDriverState(ppBlob);
return E_NOINTERFACE;
}
virtual D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS STDMETHODCALLTYPE
GetApplicationSpecificDriverBlobStatus(void)
{
if(m_pDeviceTools1)
return m_pDeviceTools1->GetApplicationSpecificDriverBlobStatus();
return D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_UNKNOWN;
}
};
@@ -2391,6 +2391,21 @@ HRESULT WrappedID3D12Device::CheckFeatureSupport(D3D12_FEATURE Feature, void *pF
return S_OK;
}
else if(Feature == D3D12_FEATURE_D3D12_OPTIONS5)
{
D3D12_FEATURE_DATA_D3D12_OPTIONS5 *opts =
(D3D12_FEATURE_DATA_D3D12_OPTIONS5 *)pFeatureSupportData;
if(FeatureSupportDataSize != sizeof(D3D12_FEATURE_DATA_D3D12_OPTIONS5))
return E_INVALIDARG;
// don't support DXR 1.2
opts->RaytracingTier = RDCMIN(opts->RaytracingTier, D3D12_RAYTRACING_TIER_1_1);
if(dolog)
RDCLOG("Clamping raytracing tier support");
return S_OK;
}
else if(Feature == D3D12_FEATURE_D3D12_OPTIONS7)
{
D3D12_FEATURE_DATA_D3D12_OPTIONS7 *opts =
+68 -4
View File
@@ -194,12 +194,22 @@ public:
virtual void STDMETHODCALLTYPE SetForceLegacyBarrierValidation(BOOL Enable) {}
};
class WrappedID3D12Tools : public RefCounter12<ID3D12Tools>, public ID3D12Tools
class WrappedID3D12Tools : public RefCounter12<ID3D12Tools2>, public ID3D12Tools2
{
BOOL m_Instrumentation = FALSE;
ID3D12Tools1 *m_Tools1 = NULL;
ID3D12Tools2 *m_Tools2 = NULL;
public:
WrappedID3D12Tools() : RefCounter12(NULL) {}
virtual ~WrappedID3D12Tools() {}
WrappedID3D12Tools(ID3D12Tools *tools) : RefCounter12(NULL)
{
tools->QueryInterface(__uuidof(ID3D12Tools1), (void **)&m_Tools1);
tools->QueryInterface(__uuidof(ID3D12Tools2), (void **)&m_Tools2);
}
virtual ~WrappedID3D12Tools()
{
SAFE_RELEASE(m_Tools1);
SAFE_RELEASE(m_Tools2);
}
//////////////////////////////
// Implement IUnknown
ULONG STDMETHODCALLTYPE AddRef() { return RefCounter12::AddRef(); }
@@ -218,6 +228,18 @@ public:
AddRef();
return S_OK;
}
if(riid == __uuidof(ID3D12Tools1))
{
*ppvObject = (ID3D12Tools1 *)this;
AddRef();
return S_OK;
}
if(riid == __uuidof(ID3D12Tools2))
{
*ppvObject = (ID3D12Tools2 *)this;
AddRef();
return S_OK;
}
return E_NOINTERFACE;
}
@@ -230,6 +252,32 @@ public:
}
virtual BOOL STDMETHODCALLTYPE ShaderInstrumentationEnabled(void) { return m_Instrumentation; }
//////////////////////////////
// Implement ID3D12Tools1
virtual HRESULT STDMETHODCALLTYPE ReserveGPUVARangesAtCreate(D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pRanges,
UINT uiNumRanges)
{
if(m_Tools1)
return m_Tools1->ReserveGPUVARangesAtCreate(pRanges, uiNumRanges);
return E_NOINTERFACE;
}
virtual void STDMETHODCALLTYPE ClearReservedGPUVARangesList(void)
{
if(m_Tools1)
m_Tools1->ClearReservedGPUVARangesList();
}
//////////////////////////////
// Implement ID3D12Tools2
virtual HRESULT STDMETHODCALLTYPE SetApplicationSpecificDriverState(_In_ IUnknown *pAdapter,
_In_opt_ ID3DBlob *pBlob)
{
if(m_Tools2)
return m_Tools2->SetApplicationSpecificDriverState(pAdapter, pBlob);
return E_NOINTERFACE;
}
};
class WrappedID3D12DeviceRemovedExtendedData : public RefCounter12<ID3D12DeviceRemovedExtendedData1>,
@@ -566,7 +614,23 @@ public:
}
else if(riid == __uuidof(ID3D12Tools))
{
*ppvInterface = (ID3D12Tools *)(new WrappedID3D12Tools());
ID3D12Tools *real = (ID3D12Tools *)realUnk;
// don't need to addref real here, WrappedID3D12Tools doesn't hold onto it but just uses it for QueryInterface
*ppvInterface = (ID3D12Tools *)(new WrappedID3D12Tools(real));
return S_OK;
}
else if(riid == __uuidof(ID3D12Tools1))
{
ID3D12Tools1 *real = (ID3D12Tools1 *)realUnk;
// don't need to addref real here, WrappedID3D12Tools doesn't hold onto it but just uses it for QueryInterface
*ppvInterface = (ID3D12Tools1 *)(new WrappedID3D12Tools(real));
return S_OK;
}
else if(riid == __uuidof(ID3D12Tools2))
{
ID3D12Tools2 *real = (ID3D12Tools2 *)realUnk;
// don't need to addref real here, WrappedID3D12Tools doesn't hold onto it but just uses it for QueryInterface
*ppvInterface = (ID3D12Tools2 *)(new WrappedID3D12Tools(real));
return S_OK;
}
else if(riid == __uuidof(ID3D12DeviceRemovedExtendedData))
@@ -186,6 +186,7 @@ bool WrappedID3D12Resource::CreateAccStruct(D3D12BufferOffset bufferOffset,
WrappedID3D12Resource::~WrappedID3D12Resource()
{
SAFE_RELEASE(m_Pageable);
SAFE_RELEASE(m_Heap);
// perform an implicit unmap on release
+45 -4
View File
@@ -717,8 +717,10 @@ public:
}
};
class WrappedID3D12Heap : public WrappedDeviceChild12<ID3D12Heap, ID3D12Heap1>
class WrappedID3D12Heap : public WrappedDeviceChild12<ID3D12Heap, ID3D12Heap1>,
public ID3D12PageableTools
{
ID3D12PageableTools *m_Pageable = NULL;
public:
ALLOCATE_WITH_WRAPPED_POOL(WrappedID3D12Heap);
@@ -731,7 +733,17 @@ public:
: WrappedDeviceChild12(real, device)
{
}
virtual ~WrappedID3D12Heap() { Shutdown(); }
virtual ~WrappedID3D12Heap()
{
SAFE_RELEASE(m_Pageable);
Shutdown();
}
ULONG STDMETHODCALLTYPE AddRef() { return WrappedDeviceChild12::AddRef(); }
ULONG STDMETHODCALLTYPE Release() { return WrappedDeviceChild12::Release(); }
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject)
{
return WrappedDeviceChild12::QueryInterface(riid, ppvObject);
}
//////////////////////////////
// implement ID3D12Heap
virtual D3D12_HEAP_DESC STDMETHODCALLTYPE GetDesc() { return m_pReal->GetDesc(); }
@@ -767,6 +779,18 @@ public:
return S_OK;
}
//////////////////////////////
// implement ID3D12PageableTools
virtual HRESULT STDMETHODCALLTYPE GetAllocation(_Inout_ D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pAllocation)
{
if(!m_Pageable)
m_pReal->QueryInterface(__uuidof(ID3D12PageableTools), (void **)&m_Pageable);
if(m_Pageable)
return m_Pageable->GetAllocation(pAllocation);
return E_NOINTERFACE;
}
};
class WrappedID3D12PipelineState : public WrappedDeviceChild12<ID3D12PipelineState>
@@ -1275,7 +1299,7 @@ public:
return E_NOINTERFACE;
}
}
if(riid == __uuidof(ID3D12WorkGraphProperties) || riid == __uuidof(ID3D12WorkGraphProperties1))
if(riid == __uuidof(ID3D12WorkGraphProperties))
{
// work graphs are not currently supported
return E_NOINTERFACE;
@@ -1345,8 +1369,11 @@ public:
class D3D12AccelerationStructure;
class WrappedID3D12Resource
: public WrappedDeviceChild12<ID3D12Resource, ID3D12Resource1, ID3D12Resource2>
: public WrappedDeviceChild12<ID3D12Resource, ID3D12Resource1, ID3D12Resource2>,
public ID3D12PageableTools
{
ID3D12PageableTools *m_Pageable = NULL;
static GPUAddressRangeTracker m_Addresses;
WriteSerialiser &GetThreadSerialiser();
@@ -1492,6 +1519,8 @@ public:
return 0;
}
ULONG STDMETHODCALLTYPE AddRef() { return WrappedDeviceChild12::AddRef(); }
ULONG STDMETHODCALLTYPE Release() { return WrappedDeviceChild12::Release(); }
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject)
{
if(riid == __uuidof(ID3D12ManualWriteTrackingResource))
@@ -1579,6 +1608,18 @@ public:
SAFE_RELEASE(real2);
return ret;
}
//////////////////////////////
// implement ID3D12PageableTools
virtual HRESULT STDMETHODCALLTYPE GetAllocation(_Inout_ D3D12_GPU_VIRTUAL_ADDRESS_RANGE *pAllocation)
{
if(!m_Pageable)
m_pReal->QueryInterface(__uuidof(ID3D12PageableTools), (void **)&m_Pageable);
if(m_Pageable)
return m_Pageable->GetAllocation(pAllocation);
return E_NOINTERFACE;
}
};
class WrappedID3D12RootSignature : public WrappedDeviceChild12<ID3D12RootSignature>
+18 -16
View File
@@ -1230,7 +1230,6 @@ rdcstr DoStringise(const D3D12_RESOURCE_FLAGS &el)
STRINGISE_BITFIELD_BIT(D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY);
STRINGISE_BITFIELD_BIT(D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY);
STRINGISE_BITFIELD_BIT(D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE);
STRINGISE_BITFIELD_BIT(D3D12_RESOURCE_FLAG_USE_TIGHT_ALIGNMENT);
}
END_BITFIELD_STRINGISE();
}
@@ -1541,6 +1540,7 @@ rdcstr DoStringise(const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE &el)
{
STRINGISE_ENUM(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL);
STRINGISE_ENUM(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL);
STRINGISE_ENUM(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE_OPACITY_MICROMAP_ARRAY);
}
END_ENUM_STRINGISE();
}
@@ -1558,6 +1558,8 @@ rdcstr DoStringise(const D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS &el
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD);
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY);
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE);
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_OMM_UPDATE);
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DISABLE_OMMS);
}
END_BITFIELD_STRINGISE();
}
@@ -1631,25 +1633,24 @@ rdcstr DoStringise(const D3D12_STATE_SUBOBJECT_TYPE &el)
template <>
rdcstr DoStringise(const D3D12_STATE_OBJECT_FLAGS &el)
{
BEGIN_ENUM_STRINGISE(D3D12_STATE_OBJECT_FLAGS);
BEGIN_BITFIELD_STRINGISE(D3D12_STATE_OBJECT_FLAGS);
{
STRINGISE_ENUM(D3D12_STATE_OBJECT_FLAG_NONE);
STRINGISE_ENUM(D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS);
STRINGISE_ENUM(D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS);
STRINGISE_ENUM(D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS);
STRINGISE_ENUM(D3D12_STATE_OBJECT_FLAG_WORK_GRAPHS_USE_GRAPHICS_STATE_FOR_GLOBAL_ROOT_SIGNATURE);
STRINGISE_BITFIELD_VALUE(D3D12_STATE_OBJECT_FLAG_NONE);
STRINGISE_BITFIELD_BIT(D3D12_STATE_OBJECT_FLAG_ALLOW_LOCAL_DEPENDENCIES_ON_EXTERNAL_DEFINITIONS);
STRINGISE_BITFIELD_BIT(D3D12_STATE_OBJECT_FLAG_ALLOW_EXTERNAL_DEPENDENCIES_ON_LOCAL_DEFINITIONS);
STRINGISE_BITFIELD_BIT(D3D12_STATE_OBJECT_FLAG_ALLOW_STATE_OBJECT_ADDITIONS);
}
END_ENUM_STRINGISE();
END_BITFIELD_STRINGISE();
}
template <>
rdcstr DoStringise(const D3D12_EXPORT_FLAGS &el)
{
BEGIN_ENUM_STRINGISE(D3D12_EXPORT_FLAGS);
BEGIN_BITFIELD_STRINGISE(D3D12_EXPORT_FLAGS);
{
STRINGISE_ENUM(D3D12_EXPORT_FLAG_NONE);
STRINGISE_BITFIELD_VALUE(D3D12_EXPORT_FLAG_NONE);
}
END_ENUM_STRINGISE();
END_BITFIELD_STRINGISE();
}
template <>
@@ -1666,13 +1667,14 @@ rdcstr DoStringise(const D3D12_HIT_GROUP_TYPE &el)
template <>
rdcstr DoStringise(const D3D12_RAYTRACING_PIPELINE_FLAGS &el)
{
BEGIN_ENUM_STRINGISE(D3D12_RAYTRACING_PIPELINE_FLAGS);
BEGIN_BITFIELD_STRINGISE(D3D12_RAYTRACING_PIPELINE_FLAGS);
{
STRINGISE_ENUM(D3D12_RAYTRACING_PIPELINE_FLAG_NONE);
STRINGISE_ENUM(D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES);
STRINGISE_ENUM(D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES);
STRINGISE_BITFIELD_VALUE(D3D12_RAYTRACING_PIPELINE_FLAG_NONE);
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_TRIANGLES);
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_PIPELINE_FLAG_SKIP_PROCEDURAL_PRIMITIVES);
STRINGISE_BITFIELD_BIT(D3D12_RAYTRACING_PIPELINE_FLAG_ALLOW_OPACITY_MICROMAPS);
}
END_ENUM_STRINGISE();
END_BITFIELD_STRINGISE();
}
template <>
File diff suppressed because it is too large Load Diff
@@ -108,6 +108,13 @@ typedef interface DirectMLPyTorchCreatorID DirectMLPyTorchCreatorID;
#endif /* __DirectMLPyTorchCreatorID_FWD_DEFINED__ */
#ifndef __DirectMLWebNNCreatorID_FWD_DEFINED__
#define __DirectMLWebNNCreatorID_FWD_DEFINED__
typedef interface DirectMLWebNNCreatorID DirectMLWebNNCreatorID;
#endif /* __DirectMLWebNNCreatorID_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
@@ -788,7 +795,79 @@ EXTERN_C const IID IID_DirectMLPyTorchCreatorID;
#endif /* __DirectMLPyTorchCreatorID_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_d3d12compatibility_0000_0008 */
#ifndef __DirectMLWebNNCreatorID_INTERFACE_DEFINED__
#define __DirectMLWebNNCreatorID_INTERFACE_DEFINED__
/* interface DirectMLWebNNCreatorID */
/* [unique][local][object][uuid] */
EXTERN_C const IID IID_DirectMLWebNNCreatorID;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fdf01a76-1e11-450f-902b-74f04ea08094")
DirectMLWebNNCreatorID : public IUnknown
{
public:
};
#else /* C style interface */
typedef struct DirectMLWebNNCreatorIDVtbl
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
DirectMLWebNNCreatorID * This,
REFIID riid,
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
DirectMLWebNNCreatorID * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
DirectMLWebNNCreatorID * This);
END_INTERFACE
} DirectMLWebNNCreatorIDVtbl;
interface DirectMLWebNNCreatorID
{
CONST_VTBL struct DirectMLWebNNCreatorIDVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define DirectMLWebNNCreatorID_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define DirectMLWebNNCreatorID_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define DirectMLWebNNCreatorID_Release(This) \
( (This)->lpVtbl -> Release(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __DirectMLWebNNCreatorID_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_d3d12compatibility_0000_0009 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
@@ -801,10 +880,11 @@ DEFINE_GUID(IID_OpenCLOn12CreatorID,0x3f76bb74,0x91b5,0x4a88,0xb1,0x26,0x20,0xca
DEFINE_GUID(IID_VulkanOn12CreatorID,0xbc806e01,0x3052,0x406c,0xa3,0xe8,0x9f,0xc0,0x7f,0x04,0x8f,0x98);
DEFINE_GUID(IID_DirectMLTensorFlowCreatorID,0xcb7490ac,0x8a0f,0x44ec,0x9b,0x7b,0x6f,0x4c,0xaf,0xe8,0xe9,0xab);
DEFINE_GUID(IID_DirectMLPyTorchCreatorID,0xaf029192,0xfba1,0x4b05,0x91,0x16,0x23,0x5e,0x06,0x56,0x03,0x54);
DEFINE_GUID(IID_DirectMLWebNNCreatorID,0xfdf01a76,0x1e11,0x450f,0x90,0x2b,0x74,0xf0,0x4e,0xa0,0x80,0x94);
extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0008_v0_0_s_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_d3d12compatibility_0000_0009_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
+16 -2
View File
@@ -999,7 +999,8 @@ enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
{
D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) ,
D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 )
D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 ) ,
D3D12_DEBUG_DEVICE_PARAMETER_BYTECODE_VALIDATION_MODE = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR + 1 )
} D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
typedef
@@ -1046,6 +1047,15 @@ typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR
FLOAT SlowdownFactor;
} D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
typedef
enum D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE
{
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_DISABLED = 0,
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED = ( D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_DISABLED + 1 ) ,
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_ALL_BYTECODE = ( D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED + 1 ) ,
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE_DEFAULT = D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED
} D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE;
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec;
@@ -3347,7 +3357,11 @@ enum D3D12_MESSAGE_ID
D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SET_BEFORE_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1419,
D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1420,
D3D12_MESSAGE_ID_APPLICATION_SPECIFIC_DRIVER_STATE_NOT_SUPPORTED = 1421,
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_APPLICATION_SPECIFIC_DRIVER_STATE_NOT_SUPPORTED + 1 )
D3D12_MESSAGE_ID_RENDER_TARGET_OR_DEPTH_STENCIL_RESOUCE_NOT_INITIALIZED = 1422,
D3D12_MESSAGE_ID_BYTECODE_VALIDATION_ERROR = 1423,
D3D12_MESSAGE_ID_FENCE_ZERO_WAIT = 1424,
D3D12_MESSAGE_ID_NON_COMMON_RESOURCE_IN_COPY_QUEUE = 1425,
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_NON_COMMON_RESOURCE_IN_COPY_QUEUE + 1 )
} D3D12_MESSAGE_ID;
typedef struct D3D12_MESSAGE
File diff suppressed because it is too large Load Diff
+62 -4
View File
@@ -999,7 +999,8 @@ enum D3D12_DEBUG_DEVICE_PARAMETER_TYPE
{
D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS = 0,
D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS = ( D3D12_DEBUG_DEVICE_PARAMETER_FEATURE_FLAGS + 1 ) ,
D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 )
D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_BASED_VALIDATION_SETTINGS + 1 ) ,
D3D12_DEBUG_DEVICE_PARAMETER_BYTECODE_VALIDATION_MODE = ( D3D12_DEBUG_DEVICE_PARAMETER_GPU_SLOWDOWN_PERFORMANCE_FACTOR + 1 )
} D3D12_DEBUG_DEVICE_PARAMETER_TYPE;
typedef
@@ -1046,6 +1047,15 @@ typedef struct D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR
FLOAT SlowdownFactor;
} D3D12_DEBUG_DEVICE_GPU_SLOWDOWN_PERFORMANCE_FACTOR;
typedef
enum D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE
{
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_DISABLED = 0,
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED = ( D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_DISABLED + 1 ) ,
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_ALL_BYTECODE = ( D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED + 1 ) ,
D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE_DEFAULT = D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_WHEN_HASH_BYPASSED
} D3D12_DEBUG_DEVICE_BYTECODE_VALIDATION_MODE;
extern RPC_IF_HANDLE __MIDL_itf_d3d12sdklayers_0000_0007_v0_0_c_ifspec;
@@ -2467,6 +2477,9 @@ enum D3D12_MESSAGE_ID
D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115,
D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116,
D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117,
D3D12_MESSAGE_ID_GET_PROGRAM_IDENTIFIER_ERROR = 118,
D3D12_MESSAGE_ID_GET_WORK_GRAPH_PROPERTIES_ERROR = 119,
D3D12_MESSAGE_ID_SET_PROGRAM_ERROR = 120,
D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135,
D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200,
D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201,
@@ -3303,7 +3316,52 @@ enum D3D12_MESSAGE_ID
D3D12_MESSAGE_ID_DRAW_POTENTIALLY_OUTSIDE_OF_VALID_RENDER_AREA = 1378,
D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_LINERASTERIZATIONMODE = 1379,
D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE = 1380,
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT_SMALLRESOURCE + 1 )
D3D12_MESSAGE_ID_GENERIC_DEVICE_OPERATION_UNSUPPORTED = 1381,
D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDER_TARGET_WRONG_WRITE_MASK = 1382,
D3D12_MESSAGE_ID_PROBABLE_PIX_EVENT_LEAK = 1383,
D3D12_MESSAGE_ID_PIX_EVENT_UNDERFLOW = 1384,
D3D12_MESSAGE_ID_RECREATEAT_INVALID_TARGET = 1385,
D3D12_MESSAGE_ID_RECREATEAT_INSUFFICIENT_SUPPORT = 1386,
D3D12_MESSAGE_ID_GPU_BASED_VALIDATION_STRUCTURED_BUFFER_STRIDE_MISMATCH = 1387,
D3D12_MESSAGE_ID_DISPATCH_GRAPH_INVALID = 1388,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_FORMAT_INVALID = 1389,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_TARGET_DIMENSION_INVALID = 1390,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_COLOR_FORMAT_INVALID = 1391,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_SOURCE_DEPTH_FORMAT_INVALID = 1392,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXPOSURE_SCALE_FORMAT_INVALID = 1393,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_ENGINE_CREATE_FLAGS_INVALID = 1394,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_LOAD_FAILURE = 1395,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_ENGINE_CREATION_ERROR = 1396,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_CREATION_ERROR = 1397,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_EXTENSION_INTERNAL_UPSCALER_EXECUTION_ERROR = 1398,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REGION_INVALID = 1399,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_TIME_DELTA_INVALID = 1400,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_REQUIRED_TEXTURE_IS_NULL = 1401,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_MOTION_VECTORS_FORMAT_INVALID = 1402,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FLAGS_INVALID = 1403,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_FORMAT_INVALID = 1404,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_EXPOSURE_SCALE_TEXTURE_SIZE_INVALID = 1405,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_INDEX_OUT_OF_BOUNDS = 1406,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_VARIANT_ID_NOT_FOUND = 1407,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_DUPLICATE_VARIANT_ID = 1408,
D3D12_MESSAGE_ID_DIRECTSR_OUT_OF_MEMORY = 1409,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_UNEXPECTED_TEXTURE_IS_IGNORED = 1410,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EVICT_UNDERFLOW = 1411,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_OPTIONAL_TEXTURE_IS_NULL = 1412,
D3D12_MESSAGE_ID_DIRECTSR_SUPERRES_UPSCALER_EXECUTE_INVALID_CAMERA_JITTER = 1413,
D3D12_MESSAGE_ID_CREATE_STATE_OBJECT_WARNING = 1414,
D3D12_MESSAGE_ID_GUID_TEXTURE_LAYOUT_UNSUPPORTED = 1415,
D3D12_MESSAGE_ID_RESOLVE_ENCODER_INPUT_PARAM_LAYOUT_INVALID_PARAMETERS = 1416,
D3D12_MESSAGE_ID_INVALID_BARRIER_ACCESS = 1417,
D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INSTANCE_COUNT_ZERO = 1418,
D3D12_MESSAGE_ID_DESCRIPTOR_HEAP_NOT_SET_BEFORE_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1419,
D3D12_MESSAGE_ID_DIFFERENT_DESCRIPTOR_HEAP_SET_AFTER_ROOT_SIGNATURE_WITH_DIRECTLY_INDEXED_FLAG = 1420,
D3D12_MESSAGE_ID_APPLICATION_SPECIFIC_DRIVER_STATE_NOT_SUPPORTED = 1421,
D3D12_MESSAGE_ID_RENDER_TARGET_OR_DEPTH_STENCIL_RESOUCE_NOT_INITIALIZED = 1422,
D3D12_MESSAGE_ID_BYTECODE_VALIDATION_ERROR = 1423,
D3D12_MESSAGE_ID_FENCE_ZERO_WAIT = 1424,
D3D12_MESSAGE_ID_NON_COMMON_RESOURCE_IN_COPY_QUEUE = 1425,
D3D12_MESSAGE_ID_D3D12_MESSAGES_END = ( D3D12_MESSAGE_ID_NON_COMMON_RESOURCE_IN_COPY_QUEUE + 1 )
} D3D12_MESSAGE_ID;
typedef struct D3D12_MESSAGE
@@ -3821,7 +3879,7 @@ EXTERN_C const IID IID_ID3D12InfoQueue1;
virtual HRESULT STDMETHODCALLTYPE RegisterMessageCallback(
_In_ D3D12MessageFunc CallbackFunc,
_In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags,
_In_ void *pContext,
_Inout_ void *pContext,
_Inout_ DWORD *pCallbackCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterMessageCallback(
@@ -4023,7 +4081,7 @@ EXTERN_C const IID IID_ID3D12InfoQueue1;
ID3D12InfoQueue1 * This,
_In_ D3D12MessageFunc CallbackFunc,
_In_ D3D12_MESSAGE_CALLBACK_FLAGS CallbackFilterFlags,
_In_ void *pContext,
_Inout_ void *pContext,
_Inout_ DWORD *pCallbackCookie);
DECLSPEC_XFGVIRT(ID3D12InfoQueue1, UnregisterMessageCallback)