summarylogtreecommitdiffstats
path: root/wined3d-interop.h
blob: 6a3d26d628c4a8b70df7f708aa9e121c841147f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
/*** Autogenerated by WIDL 5.0 from ../../wine-valve-git/include/wine/wined3d-interop.idl - Do not edit ***/

#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif

#ifndef __wined3d_interop_h__
#define __wined3d_interop_h__

/* Forward declarations */

#ifndef __IWineD3D11Texture2D_FWD_DEFINED__
#define __IWineD3D11Texture2D_FWD_DEFINED__
typedef interface IWineD3D11Texture2D IWineD3D11Texture2D;
#ifdef __cplusplus
interface IWineD3D11Texture2D;
#endif /* __cplusplus */
#endif

#ifndef __IWineD3D11Device_FWD_DEFINED__
#define __IWineD3D11Device_FWD_DEFINED__
typedef interface IWineD3D11Device IWineD3D11Device;
#ifdef __cplusplus
interface IWineD3D11Device;
#endif /* __cplusplus */
#endif

/* Headers for imported files */

#include <d3d11.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef void (__cdecl *gl_texture_callback)(unsigned int gl_texture,unsigned int gl_depth_texture,const void *data,unsigned int data_size);
/*****************************************************************************
 * IWineD3D11Texture2D interface
 */
#ifndef __IWineD3D11Texture2D_INTERFACE_DEFINED__
#define __IWineD3D11Texture2D_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWineD3D11Texture2D, 0x267dc993, 0xd15e, 0x4015, 0xaa,0xac, 0xb7,0x55,0x9e,0x22,0x6c,0xc3);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("267dc993-d15e-4015-aaac-b7559e226cc3")
IWineD3D11Texture2D : public ID3D11Texture2D
{
    virtual void STDMETHODCALLTYPE access_gl_texture(
        gl_texture_callback callback,
        IWineD3D11Texture2D *depth_texture,
        const void *data,
        unsigned int data_size) = 0;

    virtual unsigned int STDMETHODCALLTYPE get_gl_texture(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWineD3D11Texture2D, 0x267dc993, 0xd15e, 0x4015, 0xaa,0xac, 0xb7,0x55,0x9e,0x22,0x6c,0xc3)
#endif
#else
typedef struct IWineD3D11Texture2DVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWineD3D11Texture2D *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWineD3D11Texture2D *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWineD3D11Texture2D *This);

    /*** ID3D11DeviceChild methods ***/
    void (STDMETHODCALLTYPE *GetDevice)(
        IWineD3D11Texture2D *This,
        ID3D11Device **ppDevice);

    HRESULT (STDMETHODCALLTYPE *GetPrivateData)(
        IWineD3D11Texture2D *This,
        REFGUID guid,
        UINT *pDataSize,
        void *pData);

    HRESULT (STDMETHODCALLTYPE *SetPrivateData)(
        IWineD3D11Texture2D *This,
        REFGUID guid,
        UINT DataSize,
        const void *pData);

    HRESULT (STDMETHODCALLTYPE *SetPrivateDataInterface)(
        IWineD3D11Texture2D *This,
        REFGUID guid,
        const IUnknown *pData);

    /*** ID3D11Resource methods ***/
    void (STDMETHODCALLTYPE *GetType)(
        IWineD3D11Texture2D *This,
        D3D11_RESOURCE_DIMENSION *pResourceDimension);

    void (STDMETHODCALLTYPE *SetEvictionPriority)(
        IWineD3D11Texture2D *This,
        UINT EvictionPriority);

    UINT (STDMETHODCALLTYPE *GetEvictionPriority)(
        IWineD3D11Texture2D *This);

    /*** ID3D11Texture2D methods ***/
    void (STDMETHODCALLTYPE *GetDesc)(
        IWineD3D11Texture2D *This,
        D3D11_TEXTURE2D_DESC *pDesc);

    /*** IWineD3D11Texture2D methods ***/
    void (STDMETHODCALLTYPE *access_gl_texture)(
        IWineD3D11Texture2D *This,
        gl_texture_callback callback,
        IWineD3D11Texture2D *depth_texture,
        const void *data,
        unsigned int data_size);

    unsigned int (STDMETHODCALLTYPE *get_gl_texture)(
        IWineD3D11Texture2D *This);

    END_INTERFACE
} IWineD3D11Texture2DVtbl;

interface IWineD3D11Texture2D {
    CONST_VTBL IWineD3D11Texture2DVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWineD3D11Texture2D_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWineD3D11Texture2D_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWineD3D11Texture2D_Release(This) (This)->lpVtbl->Release(This)
/*** ID3D11DeviceChild methods ***/
#define IWineD3D11Texture2D_GetDevice(This,ppDevice) (This)->lpVtbl->GetDevice(This,ppDevice)
#define IWineD3D11Texture2D_GetPrivateData(This,guid,pDataSize,pData) (This)->lpVtbl->GetPrivateData(This,guid,pDataSize,pData)
#define IWineD3D11Texture2D_SetPrivateData(This,guid,DataSize,pData) (This)->lpVtbl->SetPrivateData(This,guid,DataSize,pData)
#define IWineD3D11Texture2D_SetPrivateDataInterface(This,guid,pData) (This)->lpVtbl->SetPrivateDataInterface(This,guid,pData)
/*** ID3D11Resource methods ***/
#define IWineD3D11Texture2D_GetType(This,pResourceDimension) (This)->lpVtbl->GetType(This,pResourceDimension)
#define IWineD3D11Texture2D_SetEvictionPriority(This,EvictionPriority) (This)->lpVtbl->SetEvictionPriority(This,EvictionPriority)
#define IWineD3D11Texture2D_GetEvictionPriority(This) (This)->lpVtbl->GetEvictionPriority(This)
/*** ID3D11Texture2D methods ***/
#define IWineD3D11Texture2D_GetDesc(This,pDesc) (This)->lpVtbl->GetDesc(This,pDesc)
/*** IWineD3D11Texture2D methods ***/
#define IWineD3D11Texture2D_access_gl_texture(This,callback,depth_texture,data,data_size) (This)->lpVtbl->access_gl_texture(This,callback,depth_texture,data,data_size)
#define IWineD3D11Texture2D_get_gl_texture(This) (This)->lpVtbl->get_gl_texture(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWineD3D11Texture2D_QueryInterface(IWineD3D11Texture2D* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWineD3D11Texture2D_AddRef(IWineD3D11Texture2D* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWineD3D11Texture2D_Release(IWineD3D11Texture2D* This) {
    return This->lpVtbl->Release(This);
}
/*** ID3D11DeviceChild methods ***/
static FORCEINLINE void IWineD3D11Texture2D_GetDevice(IWineD3D11Texture2D* This,ID3D11Device **ppDevice) {
    This->lpVtbl->GetDevice(This,ppDevice);
}
static FORCEINLINE HRESULT IWineD3D11Texture2D_GetPrivateData(IWineD3D11Texture2D* This,REFGUID guid,UINT *pDataSize,void *pData) {
    return This->lpVtbl->GetPrivateData(This,guid,pDataSize,pData);
}
static FORCEINLINE HRESULT IWineD3D11Texture2D_SetPrivateData(IWineD3D11Texture2D* This,REFGUID guid,UINT DataSize,const void *pData) {
    return This->lpVtbl->SetPrivateData(This,guid,DataSize,pData);
}
static FORCEINLINE HRESULT IWineD3D11Texture2D_SetPrivateDataInterface(IWineD3D11Texture2D* This,REFGUID guid,const IUnknown *pData) {
    return This->lpVtbl->SetPrivateDataInterface(This,guid,pData);
}
/*** ID3D11Resource methods ***/
static FORCEINLINE void IWineD3D11Texture2D_GetType(IWineD3D11Texture2D* This,D3D11_RESOURCE_DIMENSION *pResourceDimension) {
    This->lpVtbl->GetType(This,pResourceDimension);
}
static FORCEINLINE void IWineD3D11Texture2D_SetEvictionPriority(IWineD3D11Texture2D* This,UINT EvictionPriority) {
    This->lpVtbl->SetEvictionPriority(This,EvictionPriority);
}
static FORCEINLINE UINT IWineD3D11Texture2D_GetEvictionPriority(IWineD3D11Texture2D* This) {
    return This->lpVtbl->GetEvictionPriority(This);
}
/*** ID3D11Texture2D methods ***/
static FORCEINLINE void IWineD3D11Texture2D_GetDesc(IWineD3D11Texture2D* This,D3D11_TEXTURE2D_DESC *pDesc) {
    This->lpVtbl->GetDesc(This,pDesc);
}
/*** IWineD3D11Texture2D methods ***/
static FORCEINLINE void IWineD3D11Texture2D_access_gl_texture(IWineD3D11Texture2D* This,gl_texture_callback callback,IWineD3D11Texture2D *depth_texture,const void *data,unsigned int data_size) {
    This->lpVtbl->access_gl_texture(This,callback,depth_texture,data,data_size);
}
static FORCEINLINE unsigned int IWineD3D11Texture2D_get_gl_texture(IWineD3D11Texture2D* This) {
    return This->lpVtbl->get_gl_texture(This);
}
#endif
#endif

#endif


#endif  /* __IWineD3D11Texture2D_INTERFACE_DEFINED__ */

typedef void (__cdecl *user_cs_callback)(const void *data,unsigned int data_size);
/*****************************************************************************
 * IWineD3D11Device interface
 */
#ifndef __IWineD3D11Device_INTERFACE_DEFINED__
#define __IWineD3D11Device_INTERFACE_DEFINED__

DEFINE_GUID(IID_IWineD3D11Device, 0x8f02de7e, 0xd55d, 0x457b, 0x94,0x23, 0x83,0x45,0x6e,0x49,0xc5,0x8a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8f02de7e-d55d-457b-9423-83456e49c58a")
IWineD3D11Device : public IUnknown
{
    virtual void STDMETHODCALLTYPE run_on_command_stream(
        user_cs_callback callback,
        const void *data,
        unsigned int data_size) = 0;

    virtual void STDMETHODCALLTYPE wait_idle(
        ) = 0;

};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IWineD3D11Device, 0x8f02de7e, 0xd55d, 0x457b, 0x94,0x23, 0x83,0x45,0x6e,0x49,0xc5,0x8a)
#endif
#else
typedef struct IWineD3D11DeviceVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        IWineD3D11Device *This,
        REFIID riid,
        void **ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        IWineD3D11Device *This);

    ULONG (STDMETHODCALLTYPE *Release)(
        IWineD3D11Device *This);

    /*** IWineD3D11Device methods ***/
    void (STDMETHODCALLTYPE *run_on_command_stream)(
        IWineD3D11Device *This,
        user_cs_callback callback,
        const void *data,
        unsigned int data_size);

    void (STDMETHODCALLTYPE *wait_idle)(
        IWineD3D11Device *This);

    END_INTERFACE
} IWineD3D11DeviceVtbl;

interface IWineD3D11Device {
    CONST_VTBL IWineD3D11DeviceVtbl* lpVtbl;
};

#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IWineD3D11Device_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IWineD3D11Device_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IWineD3D11Device_Release(This) (This)->lpVtbl->Release(This)
/*** IWineD3D11Device methods ***/
#define IWineD3D11Device_run_on_command_stream(This,callback,data,data_size) (This)->lpVtbl->run_on_command_stream(This,callback,data,data_size)
#define IWineD3D11Device_wait_idle(This) (This)->lpVtbl->wait_idle(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IWineD3D11Device_QueryInterface(IWineD3D11Device* This,REFIID riid,void **ppvObject) {
    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IWineD3D11Device_AddRef(IWineD3D11Device* This) {
    return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IWineD3D11Device_Release(IWineD3D11Device* This) {
    return This->lpVtbl->Release(This);
}
/*** IWineD3D11Device methods ***/
static FORCEINLINE void IWineD3D11Device_run_on_command_stream(IWineD3D11Device* This,user_cs_callback callback,const void *data,unsigned int data_size) {
    This->lpVtbl->run_on_command_stream(This,callback,data,data_size);
}
static FORCEINLINE void IWineD3D11Device_wait_idle(IWineD3D11Device* This) {
    This->lpVtbl->wait_idle(This);
}
#endif
#endif

#endif


#endif  /* __IWineD3D11Device_INTERFACE_DEFINED__ */

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __wined3d_interop_h__ */