2016-04-13 12:18:51 +02:00
|
|
|
/*
|
|
|
|
* Copyright 2016 Henri Verbeet for CodeWeavers
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WINE_D3DKMTHK_H
|
|
|
|
#define __WINE_D3DKMTHK_H
|
|
|
|
|
|
|
|
#include <d3dukmdt.h>
|
|
|
|
|
2019-05-09 14:27:10 +02:00
|
|
|
typedef enum _D3DKMT_VIDPNSOURCEOWNER_TYPE
|
|
|
|
{
|
|
|
|
D3DKMT_VIDPNSOURCEOWNER_UNOWNED = 0,
|
|
|
|
D3DKMT_VIDPNSOURCEOWNER_SHARED = 1,
|
|
|
|
D3DKMT_VIDPNSOURCEOWNER_EXCLUSIVE = 2,
|
|
|
|
D3DKMT_VIDPNSOURCEOWNER_EXCLUSIVEGDI = 3,
|
|
|
|
D3DKMT_VIDPNSOURCEOWNER_EMULATED = 4
|
|
|
|
} D3DKMT_VIDPNSOURCEOWNER_TYPE;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_CREATEDEVICEFLAGS
|
|
|
|
{
|
|
|
|
UINT LegacyMode : 1;
|
|
|
|
UINT RequestVSync : 1;
|
|
|
|
UINT DisableGpuTimeout : 1;
|
|
|
|
UINT Reserved : 29;
|
|
|
|
} D3DKMT_CREATEDEVICEFLAGS;
|
|
|
|
|
|
|
|
typedef struct _D3DDDI_ALLOCATIONLIST
|
|
|
|
{
|
|
|
|
D3DKMT_HANDLE hAllocation;
|
|
|
|
union
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
UINT WriteOperation : 1;
|
|
|
|
UINT DoNotRetireInstance : 1;
|
|
|
|
UINT OfferPriority : 3;
|
|
|
|
UINT Reserved : 27;
|
|
|
|
} DUMMYSTRUCTNAME;
|
|
|
|
UINT Value;
|
|
|
|
} DUMMYUNIONNAME;
|
|
|
|
} D3DDDI_ALLOCATIONLIST;
|
|
|
|
|
|
|
|
typedef struct _D3DDDI_PATCHLOCATIONLIST
|
|
|
|
{
|
|
|
|
UINT AllocationIndex;
|
|
|
|
union
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
UINT SlotId : 24;
|
|
|
|
UINT Reserved : 8;
|
|
|
|
} DUMMYSTRUCTNAME;
|
|
|
|
UINT Value;
|
|
|
|
} DUMMYUNIONNAME;
|
|
|
|
UINT DriverId;
|
|
|
|
UINT AllocationOffset;
|
|
|
|
UINT PatchOffset;
|
|
|
|
UINT SplitOffset;
|
|
|
|
} D3DDDI_PATCHLOCATIONLIST;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_DESTROYDEVICE
|
|
|
|
{
|
|
|
|
D3DKMT_HANDLE hDevice;
|
|
|
|
} D3DKMT_DESTROYDEVICE;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_CHECKOCCLUSION
|
|
|
|
{
|
|
|
|
HWND hWnd;
|
|
|
|
} D3DKMT_CHECKOCCLUSION;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_CREATEDEVICE
|
|
|
|
{
|
|
|
|
union
|
|
|
|
{
|
|
|
|
D3DKMT_HANDLE hAdapter;
|
|
|
|
VOID *pAdapter;
|
|
|
|
} DUMMYUNIONNAME;
|
|
|
|
D3DKMT_CREATEDEVICEFLAGS Flags;
|
|
|
|
D3DKMT_HANDLE hDevice;
|
|
|
|
VOID *pCommandBuffer;
|
|
|
|
UINT CommandBufferSize;
|
|
|
|
D3DDDI_ALLOCATIONLIST *pAllocationList;
|
|
|
|
UINT AllocationListSize;
|
|
|
|
D3DDDI_PATCHLOCATIONLIST *pPatchLocationList;
|
|
|
|
UINT PatchLocationListSize;
|
|
|
|
} D3DKMT_CREATEDEVICE;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_OPENADAPTERFROMHDC
|
|
|
|
{
|
|
|
|
HDC hDc;
|
|
|
|
D3DKMT_HANDLE hAdapter;
|
|
|
|
LUID AdapterLuid;
|
|
|
|
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
|
|
|
|
} D3DKMT_OPENADAPTERFROMHDC;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_OPENADAPTERFROMDEVICENAME
|
|
|
|
{
|
|
|
|
const WCHAR *pDeviceName;
|
|
|
|
D3DKMT_HANDLE hAdapter;
|
|
|
|
LUID AdapterLuid;
|
|
|
|
} D3DKMT_OPENADAPTERFROMDEVICENAME;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME
|
|
|
|
{
|
|
|
|
WCHAR DeviceName[32];
|
|
|
|
D3DKMT_HANDLE hAdapter;
|
|
|
|
LUID AdapterLuid;
|
|
|
|
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
|
|
|
|
} D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_SETVIDPNSOURCEOWNER
|
|
|
|
{
|
|
|
|
D3DKMT_HANDLE hDevice;
|
|
|
|
const D3DKMT_VIDPNSOURCEOWNER_TYPE *pType;
|
|
|
|
const D3DDDI_VIDEO_PRESENT_SOURCE_ID *pVidPnSourceId;
|
|
|
|
UINT VidPnSourceCount;
|
|
|
|
} D3DKMT_SETVIDPNSOURCEOWNER;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP
|
|
|
|
{
|
|
|
|
D3DKMT_HANDLE hAdapter;
|
|
|
|
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
|
|
|
|
} D3DKMT_CHECKVIDPNEXCLUSIVEOWNERSHIP;
|
|
|
|
|
2019-03-14 09:49:14 +01:00
|
|
|
typedef struct _D3DKMT_CLOSEADAPTER
|
|
|
|
{
|
|
|
|
D3DKMT_HANDLE hAdapter;
|
|
|
|
} D3DKMT_CLOSEADAPTER;
|
|
|
|
|
2016-04-13 12:18:51 +02:00
|
|
|
typedef struct _D3DKMT_CREATEDCFROMMEMORY
|
|
|
|
{
|
|
|
|
void *pMemory;
|
|
|
|
D3DDDIFORMAT Format;
|
|
|
|
UINT Width;
|
|
|
|
UINT Height;
|
|
|
|
UINT Pitch;
|
|
|
|
HDC hDeviceDc;
|
|
|
|
PALETTEENTRY *pColorTable;
|
|
|
|
HDC hDc;
|
|
|
|
HANDLE hBitmap;
|
|
|
|
} D3DKMT_CREATEDCFROMMEMORY;
|
|
|
|
|
|
|
|
typedef struct _D3DKMT_DESTROYDCFROMMEMORY
|
|
|
|
{
|
|
|
|
HDC hDc;
|
|
|
|
HANDLE hBitmap;
|
|
|
|
} D3DKMT_DESTROYDCFROMMEMORY;
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
2019-03-14 09:49:14 +01:00
|
|
|
NTSTATUS WINAPI D3DKMTCloseAdapter(const D3DKMT_CLOSEADAPTER *desc);
|
2016-04-13 12:18:51 +02:00
|
|
|
NTSTATUS WINAPI D3DKMTCreateDCFromMemory(D3DKMT_CREATEDCFROMMEMORY *desc);
|
|
|
|
NTSTATUS WINAPI D3DKMTDestroyDCFromMemory(const D3DKMT_DESTROYDCFROMMEMORY *desc);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
#endif /* __WINE_D3DKMTHK_H */
|