VirtualBox

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

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

wddm/3d: wine: flush implementation basics

  • 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 /* module handle */
40 HMODULE hD3DLib;
41} VBOXDISPD3D;
42
43HRESULT VBoxDispD3DOpen(VBOXDISPD3D *pD3D);
44void VBoxDispD3DClose(VBOXDISPD3D *pD3D);
45
46
47typedef struct VBOXDISPWORKER
48{
49 RTCRITSECT CritSect;
50
51 RTSEMEVENT hEvent;
52
53 HANDLE hThread;
54 DWORD idThread;
55} VBOXDISPWORKER;
56
57HRESULT VBoxDispWorkerCreate(VBOXDISPWORKER *pWorker);
58HRESULT VBoxDispWorkerDestroy(VBOXDISPWORKER *pWorker);
59
60typedef DECLCALLBACK(void) FNVBOXDISPWORKERCB(void *pvUser);
61typedef FNVBOXDISPWORKERCB *PFNVBOXDISPWORKERCB;
62
63HRESULT VBoxDispWorkerSubmitProc(VBOXDISPWORKER *pWorker, PFNVBOXDISPWORKERCB pfnCb, void *pvCb);
64
65typedef struct VBOXWDDMDISP_ADAPTER *PVBOXWDDMDISP_ADAPTER;
66
67HRESULT VBoxDispWndDestroy(PVBOXWDDMDISP_ADAPTER pAdapter, HWND hWnd);
68HRESULT VBoxDispWndCreate(PVBOXWDDMDISP_ADAPTER pAdapter, DWORD width, DWORD height, HWND *phWnd);
69
70#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