VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Display/wddm/VBoxDispD3DIf.h@ 32891

Last change on this file since 32891 was 32281, checked in by vboxsync, 14 years ago

wddm/3d: basics for early d3d device creation (needed for win7), wine/d3d: stub for device settings update

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/** @file
2 *
3 * VBoxVideo Display D3D User mode dll
4 *
5 * Copyright (C) 2010 Oracle Corporation
6 *
7 * This file is part of VirtualBox Open Source Edition (OSE), as
8 * available from http://www.virtualbox.org. This file is free software;
9 * you can redistribute it and/or modify it under the terms of the GNU
10 * General Public License (GPL) as published by the Free Software
11 * Foundation, in version 2 as it comes in the "COPYING" file of the
12 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14 */
15#ifndef ___VBoxDispD3DIf_h___
16#define ___VBoxDispD3DIf_h___
17
18/* D3D headers */
19#include <iprt/critsect.h>
20#include <iprt/semaphore.h>
21
22#include <D3D9.h>
23
24#include "../../Wine/vbox/VBoxWineEx.h"
25
26/* D3D functionality the VBOXDISPD3D provides */
27typedef HRESULT WINAPI FNVBOXDISPD3DCREATE9EX(UINT SDKVersion, IDirect3D9Ex **ppD3D);
28typedef FNVBOXDISPD3DCREATE9EX *PFNVBOXDISPD3DCREATE9EX;
29
30typedef struct VBOXDISPD3D
31{
32 /* D3D functionality the VBOXDISPD3D provides */
33 PFNVBOXDISPD3DCREATE9EX pfnDirect3DCreate9Ex;
34
35 PFNVBOXWINEEXD3DDEV9_CREATETEXTURE pfnVBoxWineExD3DDev9CreateTexture;
36
37 PFNVBOXWINEEXD3DDEV9_FLUSH pfnVBoxWineExD3DDev9Flush;
38
39 PFNVBOXWINEEXD3DDEV9_UPDATE pfnVBoxWineExD3DDev9Update;
40
41
42 /* module handle */
43 HMODULE hD3DLib;
44} VBOXDISPD3D;
45
46HRESULT VBoxDispD3DOpen(VBOXDISPD3D *pD3D);
47void VBoxDispD3DClose(VBOXDISPD3D *pD3D);
48
49
50typedef struct VBOXDISPWORKER
51{
52 RTCRITSECT CritSect;
53
54 RTSEMEVENT hEvent;
55
56 HANDLE hThread;
57 DWORD idThread;
58} VBOXDISPWORKER;
59
60HRESULT VBoxDispWorkerCreate(VBOXDISPWORKER *pWorker);
61HRESULT VBoxDispWorkerDestroy(VBOXDISPWORKER *pWorker);
62
63typedef DECLCALLBACK(void) FNVBOXDISPWORKERCB(void *pvUser);
64typedef FNVBOXDISPWORKERCB *PFNVBOXDISPWORKERCB;
65
66HRESULT VBoxDispWorkerSubmitProc(VBOXDISPWORKER *pWorker, PFNVBOXDISPWORKERCB pfnCb, void *pvCb);
67
68typedef struct VBOXWDDMDISP_ADAPTER *PVBOXWDDMDISP_ADAPTER;
69
70HRESULT VBoxDispWndDestroy(PVBOXWDDMDISP_ADAPTER pAdapter, HWND hWnd);
71HRESULT VBoxDispWndCreate(PVBOXWDDMDISP_ADAPTER pAdapter, DWORD width, DWORD height, HWND *phWnd);
72
73#endif /* ifndef ___VBoxDispD3DIf_h___ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette