| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/ |
Upload File : |
/*==========================================================================;
*
* Copyright (C) Microsoft Corporation. All Rights Reserved.
*
* File: d3d9on12.h
* Content: Direct3D include file
*
****************************************************************************/
#ifndef _D3D9ON12_H_
#define _D3D9ON12_H_
#include "d3d9.h"
#include "d3d12.h"
// include this file content only if compiling for DX9 interfaces
#if(DIRECT3D_VERSION >= 0x0900)
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// COM interface stuff to allow 9On12 struct to reference IUnknown
#include <unknwn.h>
#define MAX_D3D9ON12_QUEUES 2
typedef struct _D3D9ON12_ARGS
{
BOOL Enable9On12;
IUnknown *pD3D12Device;
IUnknown *ppD3D12Queues[MAX_D3D9ON12_QUEUES];
UINT NumQueues;
UINT NodeMask;
} D3D9ON12_ARGS;
#ifdef __cplusplus
extern "C" {
#endif
/*
* Entry point interfaces for creating a IDirect3D9 with 9On12 arguments
*/
typedef HRESULT (WINAPI *PFN_Direct3DCreate9On12Ex)(UINT SDKVersion, D3D9ON12_ARGS *pOverrideList, UINT NumOverrideEntries, IDirect3D9Ex** ppOutputInterface);
HRESULT WINAPI Direct3DCreate9On12Ex(UINT SDKVersion, D3D9ON12_ARGS *pOverrideList, UINT NumOverrideEntries, IDirect3D9Ex** ppOutputInterface);
typedef IDirect3D9* (WINAPI *PFN_Direct3DCreate9On12)(UINT SDKVersion, D3D9ON12_ARGS *pOverrideList, UINT NumOverrideEntries);
IDirect3D9* WINAPI Direct3DCreate9On12(UINT SDKVersion, D3D9ON12_ARGS *pOverrideList, UINT NumOverrideEntries);
/* IID_IDirect3DDevice9On12 */
/* {e7fda234-b589-4049-940d-8878977531c8} */
DEFINE_GUID(IID_IDirect3DDevice9On12, 0xe7fda234, 0xb589, 0x4049, 0x94, 0x0d, 0x88, 0x78, 0x97, 0x75, 0x31, 0xc8);
interface DECLSPEC_UUID("e7fda234-b589-4049-940d-8878977531c8") IDirect3DDevice9On12;
#if defined(_COM_SMARTPTR_TYPEDEF)
_COM_SMARTPTR_TYPEDEF(IDirect3DDevice9On12, __uuidof(IDirect3DDevice9On12));
#endif
#undef INTERFACE
#define INTERFACE IDirect3DDevice9On12
DECLARE_INTERFACE_(IDirect3DDevice9On12, IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IDirect3DDevice9On12 methods ***/
STDMETHOD(GetD3D12Device)(THIS_ REFIID riid,void** ppvDevice) PURE;
STDMETHOD(UnwrapUnderlyingResource)(THIS_ IDirect3DResource9* pResource,ID3D12CommandQueue* pCommandQueue,REFIID riid,void** ppvResource12) PURE;
STDMETHOD(ReturnUnderlyingResource)(THIS_ IDirect3DResource9* pResource,UINT NumSync,UINT64* pSignalValues,ID3D12Fence** ppFences) PURE;
};
typedef struct IDirect3DDevice9On12 *LPDIRECT3DDEVICE9ON12, *PDIRECT3DDEVICE9ON12;
#if !defined(__cplusplus) || defined(CINTERFACE)
#define IDirect3DDevice9On12_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirect3DDevice9On12_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IDirect3DDevice9On12_Release(p) (p)->lpVtbl->Release(p)
#define IDirect3DDevice9On12_GetD3D12Device(p,a,b) (p)->lpVtbl->GetD3D12Device(p,a,b)
#define IDirect3DDevice9On12_UnwrapUnderlyingResource(p,a,b,c,d) (p)->lpVtbl->UnwrapUnderlyingResource(p,a,b,c,d)
#define IDirect3DDevice9On12_ReturnUnderlyingResource(p,a,b,c,d) (p)->lpVtbl->ReturnUnderlyingResource(p,a,b,c,d)
#else
#define IDirect3DDevice9On12_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
#define IDirect3DDevice9On12_AddRef(p) (p)->AddRef()
#define IDirect3DDevice9On12_Release(p) (p)->Release()
#define IDirect3DDevice9On12_GetD3D12Device(p,a,b) (p)->GetD3D12Device(a,b)
#define IDirect3DDevice9On12_UnwrapUnderlyingResource(p,a,b,c,d) (p)->UnwrapUnderlyingResource(a,b,c,d)
#define IDirect3DDevice9On12_ReturnUnderlyingResource(p,a,b,c,d) (p)->ReturnUnderlyingResource(a,b,c,d)
#endif
#ifdef __cplusplus
};
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif /* (DIRECT3D_VERSION >= 0x0900) */
#endif /* _D3D_H_ */