19#ifndef __DXCORE_INTERFACE__
20#define __DXCORE_INTERFACE__
27#define DECLARE_ENUM_CLASS(x) enum class x : uint32_t
28#define REFLUID const LUID &
30#define DECLARE_ENUM_CLASS(x) typedef enum x x; enum x
31#define REFLUID const LUID *
38 DriverDescription = 2,
41 ComputePreemptionGranularity = 5,
42 GraphicsPreemptionGranularity = 6,
43 DedicatedAdapterMemory = 7,
44 DedicatedSystemMemory = 8,
45 SharedSystemMemory = 9,
55 IsDriverUpdateInProgress = 0,
56 AdapterMemoryBudget = 1,
68 AdapterNoLongerValid = 1,
69 AdapterBudgetChange = 2,
70 AdapterHardwareContentProtectionTeardown = 3,
113DEFINE_GUID(IID_IDXCoreAdapterFactory, 0x78ee5945, 0xc36e, 0x4b13, 0xa6, 0x69, 0x00, 0x5d, 0xd1, 0x1c, 0x0f, 0x06);
114DEFINE_GUID(IID_IDXCoreAdapterList, 0x526c7776, 0x40e9, 0x459b, 0xb7, 0x11, 0xf3, 0x2a, 0xd7, 0x6d, 0xfc, 0x28);
115DEFINE_GUID(IID_IDXCoreAdapter, 0xf0db4c7f, 0xfe5a, 0x42a2, 0xbd, 0x62, 0xf2, 0xa6, 0xcf, 0x6f, 0xc8, 0x3e);
116DEFINE_GUID(DXCORE_ADAPTER_ATTRIBUTE_D3D11_GRAPHICS, 0x8c47866b, 0x7583, 0x450d, 0xf0, 0xf0, 0x6b, 0xad, 0xa8, 0x95, 0xaf, 0x4b);
117DEFINE_GUID(DXCORE_ADAPTER_ATTRIBUTE_D3D12_GRAPHICS, 0x0c9ece4d, 0x2f6e, 0x4f01, 0x8c, 0x96, 0xe8, 0x9e, 0x33, 0x1b, 0x47, 0xb1);
118DEFINE_GUID(DXCORE_ADAPTER_ATTRIBUTE_D3D12_CORE_COMPUTE, 0x248e2800, 0xa793, 0x4724, 0xab, 0xaa, 0x23, 0xa6, 0xde, 0x1b, 0xe0, 0x90);
121#define INTERFACE IDXCoreAdapter
147 template <
class T1,
class T2>
150 return QueryState(
state,
sizeof(T1), (
const void *)state_details,
sizeof(T2), (
void *)
buffer);
159 template <
class T1,
class T2>
162 return SetState(
state,
sizeof(T1), (
const void *)state_details,
sizeof(T2), (
const void *)
buffer);
168 return GetFactory(IID_PPV_ARGS(
ppv));
174#define INTERFACE IDXCoreAdapterList
193 return GetAdapter(
index, IID_PPV_ARGS(
ppv));
199 return GetFactory(IID_PPV_ARGS(
ppv));
205#define INTERFACE IDXCoreAdapterFactory
224 return CreateAdapterList(num_attributes, filter_attributes, IID_PPV_ARGS(
ppv));
230 return GetAdapterByLuid(adapter_luid, IID_PPV_ARGS(
ppv));
#define STDMETHODCALLTYPE
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
#define DECLARE_ENUM_CLASS(x)
void(STDMETHODCALLTYPE * PFN_DXCORE_NOTIFICATION_CALLBACK)(DXCoreNotificationType type, IUnknown *object, void *context)
GLuint GLuint GLsizei GLenum type
static IPrintDialogCallback callback
static ULONG WINAPI AddRef(IStream *iface)
#define DECLARE_INTERFACE_IID_(iface, ibase, iid)
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
wchar_t const *const size_t const buffer_size
DXCoreSegmentGroup segmentGroup
uint64_t availableForReservation
uint64_t currentReservation
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING HardwareID