~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/dxgi/dxgi_private.h

Version: ~ [ wine-1.5.30 ] ~ [ wine-1.5.29 ] ~ [ wine-1.5.28 ] ~ [ wine-1.5.27 ] ~ [ wine-1.5.26 ] ~ [ wine-1.5.25 ] ~ [ wine-1.5.24 ] ~ [ wine-1.5.23 ] ~ [ wine-1.5.22 ] ~ [ wine-1.5.21 ] ~ [ wine-1.5.20 ] ~ [ wine-1.5.19 ] ~ [ wine-1.5.18 ] ~ [ wine-1.5.17 ] ~ [ wine-1.5.16 ] ~ [ wine-1.5.15 ] ~ [ wine-1.5.14 ] ~ [ wine-1.5.13 ] ~ [ wine-1.5.12 ] ~ [ wine-1.5.11 ] ~ [ wine-1.5.10 ] ~ [ wine-1.5.9 ] ~ [ wine-1.5.8 ] ~ [ wine-1.5.7 ] ~ [ wine-1.4.1 ] ~ [ wine-1.5.6 ] ~ [ wine-1.5.5 ] ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright 2008 Henri Verbeet for CodeWeavers
  3  *
  4  * This library is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU Lesser General Public
  6  * License as published by the Free Software Foundation; either
  7  * version 2.1 of the License, or (at your option) any later version.
  8  *
  9  * This library is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12  * Lesser General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU Lesser General Public
 15  * License along with this library; if not, write to the Free Software
 16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 
 19 #ifndef __WINE_DXGI_PRIVATE_H
 20 #define __WINE_DXGI_PRIVATE_H
 21 
 22 #include "wine/debug.h"
 23 
 24 #define COBJMACROS
 25 #include "winbase.h"
 26 #include "wingdi.h"
 27 #include "winuser.h"
 28 #include "objbase.h"
 29 #include "winnls.h"
 30 
 31 #include "dxgi.h"
 32 #ifdef DXGI_INIT_GUID
 33 #include "initguid.h"
 34 #endif
 35 #include "wine/wined3d.h"
 36 #include "wine/winedxgi.h"
 37 
 38 extern CRITICAL_SECTION dxgi_cs DECLSPEC_HIDDEN;
 39 
 40 /* Layered device */
 41 enum dxgi_device_layer_id
 42 {
 43     DXGI_DEVICE_LAYER_DEBUG1        = 0x8,
 44     DXGI_DEVICE_LAYER_THREAD_SAFE   = 0x10,
 45     DXGI_DEVICE_LAYER_DEBUG2        = 0x20,
 46     DXGI_DEVICE_LAYER_SWITCH_TO_REF = 0x30,
 47     DXGI_DEVICE_LAYER_D3D10_DEVICE  = 0xffffffff,
 48 };
 49 
 50 struct layer_get_size_args
 51 {
 52     DWORD unknown0;
 53     DWORD unknown1;
 54     DWORD *unknown2;
 55     DWORD *unknown3;
 56     IDXGIAdapter *adapter;
 57     WORD interface_major;
 58     WORD interface_minor;
 59     WORD version_build;
 60     WORD version_revision;
 61 };
 62 
 63 struct dxgi_device_layer
 64 {
 65     enum dxgi_device_layer_id id;
 66     HRESULT (WINAPI *init)(enum dxgi_device_layer_id id, DWORD *count, DWORD *values);
 67     UINT (WINAPI *get_size)(enum dxgi_device_layer_id id, struct layer_get_size_args *args, DWORD unknown0);
 68     HRESULT (WINAPI *create)(enum dxgi_device_layer_id id, void **layer_base, DWORD unknown0,
 69             void *device_object, REFIID riid, void **device_layer);
 70 };
 71 
 72 /* TRACE helper functions */
 73 const char *debug_dxgi_format(DXGI_FORMAT format) DECLSPEC_HIDDEN;
 74 
 75 WINED3DFORMAT wined3dformat_from_dxgi_format(DXGI_FORMAT format) DECLSPEC_HIDDEN;
 76 
 77 /* IDXGIFactory */
 78 struct dxgi_factory
 79 {
 80     const struct IWineDXGIFactoryVtbl *vtbl;
 81     LONG refcount;
 82     IWineD3D *wined3d;
 83     UINT adapter_count;
 84     IDXGIAdapter **adapters;
 85 };
 86 
 87 HRESULT dxgi_factory_init(struct dxgi_factory *factory) DECLSPEC_HIDDEN;
 88 
 89 /* IDXGIDevice */
 90 struct dxgi_device
 91 {
 92     const struct IWineDXGIDeviceVtbl *vtbl;
 93     IUnknown *child_layer;
 94     LONG refcount;
 95     IWineD3DDevice *wined3d_device;
 96     IWineDXGIFactory *factory;
 97 };
 98 
 99 HRESULT dxgi_device_init(struct dxgi_device *device, struct dxgi_device_layer *layer,
100         IDXGIFactory *factory, IDXGIAdapter *adapter) DECLSPEC_HIDDEN;
101 
102 /* IDXGIOutput */
103 struct dxgi_output
104 {
105     const struct IDXGIOutputVtbl *vtbl;
106     LONG refcount;
107     struct dxgi_adapter *adapter;
108 };
109 
110 void dxgi_output_init(struct dxgi_output *output, struct dxgi_adapter *adapter) DECLSPEC_HIDDEN;
111 
112 /* IDXGIAdapter */
113 struct dxgi_adapter
114 {
115     const struct IWineDXGIAdapterVtbl *vtbl;
116     IWineDXGIFactory *parent;
117     LONG refcount;
118     UINT ordinal;
119     IDXGIOutput *output;
120 };
121 
122 HRESULT dxgi_adapter_init(struct dxgi_adapter *adapter, IWineDXGIFactory *parent, UINT ordinal) DECLSPEC_HIDDEN;
123 
124 /* IDXGISwapChain */
125 struct dxgi_swapchain
126 {
127     const struct IDXGISwapChainVtbl *vtbl;
128     LONG refcount;
129     IWineD3DSwapChain *wined3d_swapchain;
130 };
131 
132 HRESULT dxgi_swapchain_init(struct dxgi_swapchain *swapchain, struct dxgi_device *device,
133         WINED3DPRESENT_PARAMETERS *present_parameters) DECLSPEC_HIDDEN;
134 
135 /* IDXGISurface */
136 struct dxgi_surface
137 {
138     const struct IDXGISurfaceVtbl *vtbl;
139     const struct IUnknownVtbl *inner_unknown_vtbl;
140     IUnknown *outer_unknown;
141     LONG refcount;
142     IDXGIDevice *device;
143 };
144 
145 HRESULT dxgi_surface_init(struct dxgi_surface *surface, IDXGIDevice *device, IUnknown *outer) DECLSPEC_HIDDEN;
146 
147 #endif /* __WINE_DXGI_PRIVATE_H */
148 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.