VirtualBox

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

Last change on this file since 31634 was 30916, checked in by vboxsync, 15 years ago

wddm/3d: Aero: fix gdi-backend textures update, avoid extra memcpy for sysmem textures Lock/Unlock

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.0 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 /* module handle */
38 HMODULE hD3DLib;
39} VBOXDISPD3D;
40
41HRESULT VBoxDispD3DOpen(VBOXDISPD3D *pD3D);
42void VBoxDispD3DClose(VBOXDISPD3D *pD3D);
43
44
45typedef struct VBOXDISPWORKER
46{
47 RTCRITSECT CritSect;
48
49 RTSEMEVENT hEvent;
50
51 HANDLE hThread;
52 DWORD idThread;
53} VBOXDISPWORKER;
54
55HRESULT VBoxDispWorkerCreate(VBOXDISPWORKER *pWorker);
56HRESULT VBoxDispWorkerDestroy(VBOXDISPWORKER *pWorker);
57
58typedef DECLCALLBACK(void) FNVBOXDISPWORKERCB(void *pvUser);
59typedef FNVBOXDISPWORKERCB *PFNVBOXDISPWORKERCB;
60
61HRESULT VBoxDispWorkerSubmitProc(VBOXDISPWORKER *pWorker, PFNVBOXDISPWORKERCB pfnCb, void *pvCb);
62
63typedef struct VBOXWDDMDISP_ADAPTER *PVBOXWDDMDISP_ADAPTER;
64
65HRESULT VBoxDispWndDestroy(PVBOXWDDMDISP_ADAPTER pAdapter, HWND hWnd);
66HRESULT VBoxDispWndCreate(PVBOXWDDMDISP_ADAPTER pAdapter, DWORD width, DWORD height, HWND *phWnd);
67
68#endif /* ifndef ___VBoxDispD3DIf_h___ */
Note: See TracBrowser for help on using the repository browser.

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