VirtualBox

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

Last change on this file since 34079 was 33836, checked in by vboxsync, 14 years ago

wddm/3d: add cube textures support

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.2 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_CREATECUBETEXTURE pfnVBoxWineExD3DDev9CreateCubeTexture;
38
39 PFNVBOXWINEEXD3DDEV9_FLUSH pfnVBoxWineExD3DDev9Flush;
40
41 PFNVBOXWINEEXD3DDEV9_UPDATE pfnVBoxWineExD3DDev9Update;
42
43
44 /* module handle */
45 HMODULE hD3DLib;
46} VBOXDISPD3D;
47
48HRESULT VBoxDispD3DOpen(VBOXDISPD3D *pD3D);
49void VBoxDispD3DClose(VBOXDISPD3D *pD3D);
50
51
52typedef struct VBOXDISPWORKER
53{
54 RTCRITSECT CritSect;
55
56 RTSEMEVENT hEvent;
57
58 HANDLE hThread;
59 DWORD idThread;
60} VBOXDISPWORKER;
61
62HRESULT VBoxDispWorkerCreate(VBOXDISPWORKER *pWorker);
63HRESULT VBoxDispWorkerDestroy(VBOXDISPWORKER *pWorker);
64
65typedef DECLCALLBACK(void) FNVBOXDISPWORKERCB(void *pvUser);
66typedef FNVBOXDISPWORKERCB *PFNVBOXDISPWORKERCB;
67
68HRESULT VBoxDispWorkerSubmitProc(VBOXDISPWORKER *pWorker, PFNVBOXDISPWORKERCB pfnCb, void *pvCb);
69
70typedef struct VBOXWDDMDISP_ADAPTER *PVBOXWDDMDISP_ADAPTER;
71
72HRESULT VBoxDispWndDestroy(PVBOXWDDMDISP_ADAPTER pAdapter, HWND hWnd);
73HRESULT VBoxDispWndCreate(PVBOXWDDMDISP_ADAPTER pAdapter, DWORD width, DWORD height, HWND *phWnd);
74
75#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