2 * Copyright (c) 1998 Lionel ULMER
4 * This file contains all the common stuff for D3D devices.
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 #include "wine/debug.h"
32 #include "d3d_private.h"
35 WINE_DEFAULT_DEBUG_CHANNEL(ddraw
);
38 Main_IDirect3DDeviceImpl_7_3T_2T_1T_QueryInterface(LPDIRECT3DDEVICE7 iface
,
42 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
43 TRACE("(%p/%p)->(%s,%p)\n", This
, iface
, debugstr_guid(riid
), obp
);
47 if ( IsEqualGUID( &IID_IUnknown
, riid
) ) {
48 IDirect3DDevice7_AddRef(ICOM_INTERFACE(This
, IDirect3DDevice7
));
50 TRACE(" Creating IUnknown interface at %p.\n", *obp
);
53 if ( IsEqualGUID( &IID_IDirect3DDevice
, riid
) ) {
54 IDirect3DDevice7_AddRef(ICOM_INTERFACE(This
, IDirect3DDevice7
));
55 *obp
= ICOM_INTERFACE(This
, IDirect3DDevice
);
56 TRACE(" Creating IDirect3DDevice interface %p\n", *obp
);
59 if ( IsEqualGUID( &IID_IDirect3DDevice2
, riid
) ) {
60 IDirect3DDevice7_AddRef(ICOM_INTERFACE(This
, IDirect3DDevice7
));
61 *obp
= ICOM_INTERFACE(This
, IDirect3DDevice2
);
62 TRACE(" Creating IDirect3DDevice2 interface %p\n", *obp
);
65 if ( IsEqualGUID( &IID_IDirect3DDevice3
, riid
) ) {
66 IDirect3DDevice7_AddRef(ICOM_INTERFACE(This
, IDirect3DDevice7
));
67 *obp
= ICOM_INTERFACE(This
, IDirect3DDevice3
);
68 TRACE(" Creating IDirect3DDevice3 interface %p\n", *obp
);
71 if ( IsEqualGUID( &IID_IDirect3DDevice7
, riid
) ) {
72 IDirect3DDevice7_AddRef(ICOM_INTERFACE(This
, IDirect3DDevice7
));
73 *obp
= ICOM_INTERFACE(This
, IDirect3DDevice7
);
74 TRACE(" Creating IDirect3DDevice7 interface %p\n", *obp
);
77 FIXME("(%p): interface for IID %s NOT found!\n", This
, debugstr_guid(riid
));
78 return OLE_E_ENUM_NOMORE
;
82 Main_IDirect3DDeviceImpl_7_3T_2T_1T_AddRef(LPDIRECT3DDEVICE7 iface
)
84 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
85 TRACE("(%p/%p)->() incrementing from %lu.\n", This
, iface
, This
->ref
);
90 Main_IDirect3DDeviceImpl_7_3T_2T_1T_Release(LPDIRECT3DDEVICE7 iface
)
92 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
93 TRACE("(%p/%p)->() decrementing from %lu.\n", This
, iface
, This
->ref
);
96 /* Release texture associated with the device */
97 for (i
= 0; i
< MAX_TEXTURES
; i
++) {
98 if (This
->current_texture
[i
] != NULL
)
99 IDirect3DTexture2_Release(ICOM_INTERFACE(This
->current_texture
[i
], IDirect3DTexture2
));
102 HeapFree(GetProcessHeap(), 0, This
);
109 Main_IDirect3DDeviceImpl_7_GetCaps(LPDIRECT3DDEVICE7 iface
,
110 LPD3DDEVICEDESC7 lpD3DHELDevDesc
)
112 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
113 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpD3DHELDevDesc
);
118 Main_IDirect3DDeviceImpl_7_3T_EnumTextureFormats(LPDIRECT3DDEVICE7 iface
,
119 LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc
,
122 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
123 FIXME("(%p/%p)->(%p,%p): stub!\n", This
, iface
, lpD3DEnumPixelProc
, lpArg
);
128 Main_IDirect3DDeviceImpl_7_3T_2T_1T_BeginScene(LPDIRECT3DDEVICE7 iface
)
130 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
131 TRACE("(%p/%p)->()\n", This
, iface
);
137 Main_IDirect3DDeviceImpl_7_3T_2T_1T_EndScene(LPDIRECT3DDEVICE7 iface
)
139 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
140 TRACE("(%p/%p)->()\n", This
, iface
);
146 Main_IDirect3DDeviceImpl_7_3T_2T_1T_GetDirect3D(LPDIRECT3DDEVICE7 iface
,
147 LPDIRECT3D7
* lplpDirect3D3
)
149 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
150 TRACE("(%p/%p)->(%p)\n", This
, iface
, lplpDirect3D3
);
152 *lplpDirect3D3
= ICOM_INTERFACE(This
->d3d
, IDirect3D7
);
153 IDirect3D7_AddRef(ICOM_INTERFACE(This
->d3d
, IDirect3D7
));
155 TRACE(" returning interface %p\n", *lplpDirect3D3
);
160 Main_IDirect3DDeviceImpl_7_3T_2T_SetRenderTarget(LPDIRECT3DDEVICE7 iface
,
161 LPDIRECTDRAWSURFACE7 lpNewRenderTarget
,
164 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
165 FIXME("(%p/%p)->(%p,%08lx): stub!\n", This
, iface
, lpNewRenderTarget
, dwFlags
);
170 Main_IDirect3DDeviceImpl_7_3T_2T_GetRenderTarget(LPDIRECT3DDEVICE7 iface
,
171 LPDIRECTDRAWSURFACE7
* lplpRenderTarget
)
173 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
174 TRACE("(%p/%p)->(%p)\n", This
, iface
, lplpRenderTarget
);
176 *lplpRenderTarget
= ICOM_INTERFACE(This
->surface
, IDirectDrawSurface7
);
177 IDirectDrawSurface7_AddRef(ICOM_INTERFACE(This
->surface
, IDirectDrawSurface7
));
179 TRACE(" returning surface at %p.\n", *lplpRenderTarget
);
185 Main_IDirect3DDeviceImpl_7_Clear(LPDIRECT3DDEVICE7 iface
,
193 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
194 TRACE("(%p/%p)->(%08lx,%p,%08lx,%08lx,%f,%08lx)\n", This
, iface
, dwCount
, lpRects
, dwFlags
, (DWORD
) dwColor
, dvZ
, dwStencil
);
195 return This
->clear(This
, dwCount
, lpRects
, dwFlags
, dwColor
, dvZ
, dwStencil
);
199 Main_IDirect3DDeviceImpl_7_3T_2T_SetTransform(LPDIRECT3DDEVICE7 iface
,
200 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
201 LPD3DMATRIX lpD3DMatrix
)
203 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
204 FIXME("(%p/%p)->(%08x,%p): stub!\n", This
, iface
, dtstTransformStateType
, lpD3DMatrix
);
209 Main_IDirect3DDeviceImpl_7_3T_2T_GetTransform(LPDIRECT3DDEVICE7 iface
,
210 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
211 LPD3DMATRIX lpD3DMatrix
)
213 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
214 FIXME("(%p/%p)->(%08x,%p): stub!\n", This
, iface
, dtstTransformStateType
, lpD3DMatrix
);
219 Main_IDirect3DDeviceImpl_7_SetViewport(LPDIRECT3DDEVICE7 iface
,
220 LPD3DVIEWPORT7 lpData
)
222 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
223 TRACE("(%p/%p)->(%p)\n", This
, iface
, lpData
);
225 if (TRACE_ON(ddraw
)) {
226 TRACE(" viewport is : \n");
227 TRACE(" - dwX = %ld dwY = %ld\n",
228 lpData
->dwX
, lpData
->dwY
);
229 TRACE(" - dwWidth = %ld dwHeight = %ld\n",
230 lpData
->dwWidth
, lpData
->dwHeight
);
231 TRACE(" - dvMinZ = %f dvMaxZ = %f\n",
232 lpData
->dvMinZ
, lpData
->dvMaxZ
);
234 This
->active_viewport
= *lpData
;
240 Main_IDirect3DDeviceImpl_7_3T_2T_MultiplyTransform(LPDIRECT3DDEVICE7 iface
,
241 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
242 LPD3DMATRIX lpD3DMatrix
)
244 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
245 FIXME("(%p/%p)->(%08x,%p): stub!\n", This
, iface
, dtstTransformStateType
, lpD3DMatrix
);
250 Main_IDirect3DDeviceImpl_7_GetViewport(LPDIRECT3DDEVICE7 iface
,
251 LPD3DVIEWPORT7 lpData
)
253 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
254 TRACE("(%p/%p)->(%p)\n", This
, iface
, lpData
);
256 *lpData
= This
->active_viewport
;
258 if (TRACE_ON(ddraw
)) {
259 TRACE(" returning viewport : \n");
260 TRACE(" - dwX = %ld dwY = %ld\n",
261 lpData
->dwX
, lpData
->dwY
);
262 TRACE(" - dwWidth = %ld dwHeight = %ld\n",
263 lpData
->dwWidth
, lpData
->dwHeight
);
264 TRACE(" - dvMinZ = %f dvMaxZ = %f\n",
265 lpData
->dvMinZ
, lpData
->dvMaxZ
);
272 Main_IDirect3DDeviceImpl_7_SetMaterial(LPDIRECT3DDEVICE7 iface
,
273 LPD3DMATERIAL7 lpMat
)
275 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
276 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpMat
);
281 Main_IDirect3DDeviceImpl_7_GetMaterial(LPDIRECT3DDEVICE7 iface
,
282 LPD3DMATERIAL7 lpMat
)
284 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
285 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpMat
);
290 Main_IDirect3DDeviceImpl_7_SetLight(LPDIRECT3DDEVICE7 iface
,
294 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
295 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwLightIndex
, lpLight
);
300 Main_IDirect3DDeviceImpl_7_GetLight(LPDIRECT3DDEVICE7 iface
,
304 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
305 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwLightIndex
, lpLight
);
310 Main_IDirect3DDeviceImpl_7_3T_2T_SetRenderState(LPDIRECT3DDEVICE7 iface
,
311 D3DRENDERSTATETYPE dwRenderStateType
,
314 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
315 FIXME("(%p/%p)->(%08x,%08lx): stub!\n", This
, iface
, dwRenderStateType
, dwRenderState
);
320 Main_IDirect3DDeviceImpl_7_3T_2T_GetRenderState(LPDIRECT3DDEVICE7 iface
,
321 D3DRENDERSTATETYPE dwRenderStateType
,
322 LPDWORD lpdwRenderState
)
324 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
325 FIXME("(%p/%p)->(%08x,%p): stub!\n", This
, iface
, dwRenderStateType
, lpdwRenderState
);
330 Main_IDirect3DDeviceImpl_7_BeginStateBlock(LPDIRECT3DDEVICE7 iface
)
332 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
333 FIXME("(%p/%p)->(): stub!\n", This
, iface
);
338 Main_IDirect3DDeviceImpl_7_EndStateBlock(LPDIRECT3DDEVICE7 iface
,
339 LPDWORD lpdwBlockHandle
)
341 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
342 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpdwBlockHandle
);
347 Main_IDirect3DDeviceImpl_7_PreLoad(LPDIRECT3DDEVICE7 iface
,
348 LPDIRECTDRAWSURFACE7 lpddsTexture
)
350 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
351 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpddsTexture
);
356 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitive(LPDIRECT3DDEVICE7 iface
,
357 D3DPRIMITIVETYPE d3dptPrimitiveType
,
358 DWORD d3dvtVertexType
,
363 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
364 FIXME("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwVertexCount
, dwFlags
);
369 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitive(LPDIRECT3DDEVICE7 iface
,
370 D3DPRIMITIVETYPE d3dptPrimitiveType
,
371 DWORD d3dvtVertexType
,
378 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
379 FIXME("(%p/%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwVertexCount
, dwIndices
, dwIndexCount
, dwFlags
);
384 Main_IDirect3DDeviceImpl_7_3T_2T_SetClipStatus(LPDIRECT3DDEVICE7 iface
,
385 LPD3DCLIPSTATUS lpD3DClipStatus
)
387 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
388 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpD3DClipStatus
);
393 Main_IDirect3DDeviceImpl_7_3T_2T_GetClipStatus(LPDIRECT3DDEVICE7 iface
,
394 LPD3DCLIPSTATUS lpD3DClipStatus
)
396 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
397 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpD3DClipStatus
);
402 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitiveStrided(LPDIRECT3DDEVICE7 iface
,
403 D3DPRIMITIVETYPE d3dptPrimitiveType
,
405 LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData
,
409 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
410 FIXME("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, dwVertexType
, lpD3DDrawPrimStrideData
, dwVertexCount
, dwFlags
);
415 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE7 iface
,
416 D3DPRIMITIVETYPE d3dptPrimitiveType
,
418 LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData
,
424 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
425 FIXME("(%p/%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, dwVertexType
, lpD3DDrawPrimStrideData
, dwVertexCount
, lpIndex
, dwIndexCount
, dwFlags
);
430 Main_IDirect3DDeviceImpl_7_3T_DrawPrimitiveVB(LPDIRECT3DDEVICE7 iface
,
431 D3DPRIMITIVETYPE d3dptPrimitiveType
,
432 LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf
,
437 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
438 FIXME("(%p/%p)->(%08x,%p,%08lx,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, lpD3DVertexBuf
, dwStartVertex
, dwNumVertices
, dwFlags
);
443 Main_IDirect3DDeviceImpl_7_3T_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE7 iface
,
444 D3DPRIMITIVETYPE d3dptPrimitiveType
,
445 LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf
,
452 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
453 FIXME("(%p/%p)->(%08x,%p,%08lx,%08lx,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, lpD3DVertexBuf
, dwStartVertex
, dwNumVertices
, lpwIndices
, dwIndexCount
, dwFlags
);
458 Main_IDirect3DDeviceImpl_7_3T_ComputeSphereVisibility(LPDIRECT3DDEVICE7 iface
,
459 LPD3DVECTOR lpCenters
,
463 LPDWORD lpdwReturnValues
)
465 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
466 FIXME("(%p/%p)->(%p,%p,%08lx,%08lx,%p): stub!\n", This
, iface
, lpCenters
, lpRadii
, dwNumSpheres
, dwFlags
, lpdwReturnValues
);
471 Main_IDirect3DDeviceImpl_7_GetTexture(LPDIRECT3DDEVICE7 iface
,
473 LPDIRECTDRAWSURFACE7
* lpTexture
)
475 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
476 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwStage
, lpTexture
);
481 Main_IDirect3DDeviceImpl_7_3T_SetTexture(LPDIRECT3DDEVICE7 iface
,
483 LPDIRECTDRAWSURFACE7 lpTexture
)
485 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
486 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwStage
, lpTexture
);
491 Main_IDirect3DDeviceImpl_7_3T_GetTextureStageState(LPDIRECT3DDEVICE7 iface
,
493 D3DTEXTURESTAGESTATETYPE d3dTexStageStateType
,
496 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
497 FIXME("(%p/%p)->(%08lx,%08x,%p): stub!\n", This
, iface
, dwStage
, d3dTexStageStateType
, lpdwState
);
502 Main_IDirect3DDeviceImpl_7_3T_SetTextureStageState(LPDIRECT3DDEVICE7 iface
,
504 D3DTEXTURESTAGESTATETYPE d3dTexStageStateType
,
507 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
508 FIXME("(%p/%p)->(%08lx,%08x,%08lx): stub!\n", This
, iface
, dwStage
, d3dTexStageStateType
, dwState
);
513 Main_IDirect3DDeviceImpl_7_3T_ValidateDevice(LPDIRECT3DDEVICE7 iface
,
516 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
517 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpdwPasses
);
522 Main_IDirect3DDeviceImpl_7_ApplyStateBlock(LPDIRECT3DDEVICE7 iface
,
525 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
526 FIXME("(%p/%p)->(%08lx): stub!\n", This
, iface
, dwBlockHandle
);
531 Main_IDirect3DDeviceImpl_7_CaptureStateBlock(LPDIRECT3DDEVICE7 iface
,
534 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
535 FIXME("(%p/%p)->(%08lx): stub!\n", This
, iface
, dwBlockHandle
);
540 Main_IDirect3DDeviceImpl_7_DeleteStateBlock(LPDIRECT3DDEVICE7 iface
,
543 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
544 FIXME("(%p/%p)->(%08lx): stub!\n", This
, iface
, dwBlockHandle
);
549 Main_IDirect3DDeviceImpl_7_CreateStateBlock(LPDIRECT3DDEVICE7 iface
,
550 D3DSTATEBLOCKTYPE d3dsbType
,
551 LPDWORD lpdwBlockHandle
)
553 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
554 FIXME("(%p/%p)->(%08x,%p): stub!\n", This
, iface
, d3dsbType
, lpdwBlockHandle
);
559 Main_IDirect3DDeviceImpl_7_Load(LPDIRECT3DDEVICE7 iface
,
560 LPDIRECTDRAWSURFACE7 lpDestTex
,
562 LPDIRECTDRAWSURFACE7 lpSrcTex
,
566 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
567 FIXME("(%p/%p)->(%p,%p,%p,%p,%08lx): stub!\n", This
, iface
, lpDestTex
, lpDestPoint
, lpSrcTex
, lprcSrcRect
, dwFlags
);
572 Main_IDirect3DDeviceImpl_7_LightEnable(LPDIRECT3DDEVICE7 iface
,
576 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
577 FIXME("(%p/%p)->(%08lx,%d): stub!\n", This
, iface
, dwLightIndex
, bEnable
);
582 Main_IDirect3DDeviceImpl_7_GetLightEnable(LPDIRECT3DDEVICE7 iface
,
586 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
587 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwLightIndex
, pbEnable
);
592 Main_IDirect3DDeviceImpl_7_SetClipPlane(LPDIRECT3DDEVICE7 iface
,
594 D3DVALUE
* pPlaneEquation
)
596 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
597 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwIndex
, pPlaneEquation
);
602 Main_IDirect3DDeviceImpl_7_GetClipPlane(LPDIRECT3DDEVICE7 iface
,
604 D3DVALUE
* pPlaneEquation
)
606 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
607 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwIndex
, pPlaneEquation
);
612 Main_IDirect3DDeviceImpl_7_GetInfo(LPDIRECT3DDEVICE7 iface
,
614 LPVOID pDevInfoStruct
,
617 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice7
, iface
);
618 FIXME("(%p/%p)->(%08lx,%p,%08lx): stub!\n", This
, iface
, dwDevInfoID
, pDevInfoStruct
, dwSize
);
623 Main_IDirect3DDeviceImpl_3_2T_1T_GetCaps(LPDIRECT3DDEVICE3 iface
,
624 LPD3DDEVICEDESC lpD3DHWDevDesc
,
625 LPD3DDEVICEDESC lpD3DHELDevDesc
)
627 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
628 FIXME("(%p/%p)->(%p,%p): stub!\n", This
, iface
, lpD3DHWDevDesc
, lpD3DHELDevDesc
);
633 Main_IDirect3DDeviceImpl_3_2T_1T_GetStats(LPDIRECT3DDEVICE3 iface
,
634 LPD3DSTATS lpD3DStats
)
636 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
637 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpD3DStats
);
642 Main_IDirect3DDeviceImpl_3_2T_1T_AddViewport(LPDIRECT3DDEVICE3 iface
,
643 LPDIRECT3DVIEWPORT3 lpDirect3DViewport3
)
645 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
646 IDirect3DViewportImpl
*lpDirect3DViewportImpl
= ICOM_OBJECT(IDirect3DViewportImpl
, IDirect3DViewport3
, lpDirect3DViewport3
);
648 TRACE("(%p/%p)->(%p)\n", This
, iface
, lpDirect3DViewport3
);
650 lpDirect3DViewportImpl
->next
= This
->viewport_list
;
651 This
->viewport_list
= lpDirect3DViewportImpl
;
657 Main_IDirect3DDeviceImpl_3_2T_1T_DeleteViewport(LPDIRECT3DDEVICE3 iface
,
658 LPDIRECT3DVIEWPORT3 lpDirect3DViewport3
)
660 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
661 IDirect3DViewportImpl
*lpDirect3DViewportImpl
= ICOM_OBJECT(IDirect3DViewportImpl
, IDirect3DViewport3
, lpDirect3DViewport3
);
662 IDirect3DViewportImpl
*cur_viewport
, *prev_viewport
= NULL
;
664 TRACE("(%p/%p)->(%p)\n", This
, iface
, lpDirect3DViewport3
);
666 cur_viewport
= This
->viewport_list
;
667 while (cur_viewport
!= NULL
) {
668 if (cur_viewport
== lpDirect3DViewportImpl
) {
669 if (prev_viewport
== NULL
) This
->viewport_list
= cur_viewport
->next
;
670 else prev_viewport
->next
= cur_viewport
->next
;
671 /* TODO : add desactivate of the viewport and all associated lights... */
674 prev_viewport
= cur_viewport
;
675 cur_viewport
= cur_viewport
->next
;
678 return DDERR_INVALIDPARAMS
;
682 Main_IDirect3DDeviceImpl_3_2T_1T_NextViewport(LPDIRECT3DDEVICE3 iface
,
683 LPDIRECT3DVIEWPORT3 lpDirect3DViewport3
,
684 LPDIRECT3DVIEWPORT3
* lplpDirect3DViewport3
,
687 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
688 IDirect3DViewportImpl
*res
= NULL
;
690 TRACE("(%p/%p)->(%p,%p,%08lx)\n", This
, iface
, lpDirect3DViewport3
, lplpDirect3DViewport3
, dwFlags
);
694 IDirect3DViewportImpl
*lpDirect3DViewportImpl
= ICOM_OBJECT(IDirect3DViewportImpl
, IDirect3DViewport3
, lpDirect3DViewport3
);
695 res
= lpDirect3DViewportImpl
->next
;
698 res
= This
->viewport_list
;
701 IDirect3DViewportImpl
*cur_viewport
= This
->viewport_list
;
702 if (cur_viewport
!= NULL
) {
703 while (cur_viewport
->next
!= NULL
) cur_viewport
= cur_viewport
->next
;
708 *lplpDirect3DViewport3
= NULL
;
709 return DDERR_INVALIDPARAMS
;
711 *lplpDirect3DViewport3
= ICOM_INTERFACE(res
, IDirect3DViewport3
);
716 Main_IDirect3DDeviceImpl_3_2T_SetCurrentViewport(LPDIRECT3DDEVICE3 iface
,
717 LPDIRECT3DVIEWPORT3 lpDirect3DViewport3
)
719 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
720 TRACE("(%p/%p)->(%p)\n", This
, iface
, lpDirect3DViewport3
);
722 /* Should check if the viewport was added or not */
724 /* Set this viewport as the current viewport */
725 This
->current_viewport
= ICOM_OBJECT(IDirect3DViewportImpl
, IDirect3DViewport3
, lpDirect3DViewport3
);
727 /* Activate this viewport */
728 This
->current_viewport
->active_device
= This
;
729 This
->current_viewport
->activate(This
->current_viewport
);
731 /* And copy the values in the structure used by the device */
732 if (This
->current_viewport
->use_vp2
) {
733 This
->active_viewport
.dwX
= This
->current_viewport
->viewports
.vp2
.dwX
;
734 This
->active_viewport
.dwY
= This
->current_viewport
->viewports
.vp2
.dwY
;
735 This
->active_viewport
.dwHeight
= This
->current_viewport
->viewports
.vp2
.dwHeight
;
736 This
->active_viewport
.dwWidth
= This
->current_viewport
->viewports
.vp2
.dwWidth
;
737 This
->active_viewport
.dvMinZ
= This
->current_viewport
->viewports
.vp2
.dvMinZ
;
738 This
->active_viewport
.dvMaxZ
= This
->current_viewport
->viewports
.vp2
.dvMaxZ
;
740 This
->active_viewport
.dwX
= This
->current_viewport
->viewports
.vp1
.dwX
;
741 This
->active_viewport
.dwY
= This
->current_viewport
->viewports
.vp1
.dwY
;
742 This
->active_viewport
.dwHeight
= This
->current_viewport
->viewports
.vp1
.dwHeight
;
743 This
->active_viewport
.dwWidth
= This
->current_viewport
->viewports
.vp1
.dwWidth
;
744 This
->active_viewport
.dvMinZ
= This
->current_viewport
->viewports
.vp1
.dvMinZ
;
745 This
->active_viewport
.dvMaxZ
= This
->current_viewport
->viewports
.vp1
.dvMaxZ
;
752 Main_IDirect3DDeviceImpl_3_2T_GetCurrentViewport(LPDIRECT3DDEVICE3 iface
,
753 LPDIRECT3DVIEWPORT3
* lplpDirect3DViewport3
)
755 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
756 TRACE("(%p/%p)->(%p)\n", This
, iface
, lplpDirect3DViewport3
);
758 *lplpDirect3DViewport3
= ICOM_INTERFACE(This
->current_viewport
, IDirect3DViewport3
);
759 TRACE(" returning interface %p\n", *lplpDirect3DViewport3
);
765 Main_IDirect3DDeviceImpl_3_Begin(LPDIRECT3DDEVICE3 iface
,
766 D3DPRIMITIVETYPE d3dptPrimitiveType
,
767 DWORD dwVertexTypeDesc
,
770 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
771 FIXME("(%p/%p)->(%08x,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, dwVertexTypeDesc
, dwFlags
);
776 Main_IDirect3DDeviceImpl_3_BeginIndexed(LPDIRECT3DDEVICE3 iface
,
777 D3DPRIMITIVETYPE d3dptPrimitiveType
,
778 DWORD d3dvtVertexType
,
783 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
784 FIXME("(%p/%p)->(%08x,%08lx,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwNumVertices
, dwFlags
);
789 Main_IDirect3DDeviceImpl_3_2T_Vertex(LPDIRECT3DDEVICE3 iface
,
792 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
793 FIXME("(%p/%p)->(%p): stub!\n", This
, iface
, lpVertexType
);
798 Main_IDirect3DDeviceImpl_3_2T_Index(LPDIRECT3DDEVICE3 iface
,
801 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
802 FIXME("(%p/%p)->(%04x): stub!\n", This
, iface
, wVertexIndex
);
807 Main_IDirect3DDeviceImpl_3_2T_End(LPDIRECT3DDEVICE3 iface
,
810 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
811 FIXME("(%p/%p)->(%08lx): stub!\n", This
, iface
, dwFlags
);
816 Main_IDirect3DDeviceImpl_3_2T_GetLightState(LPDIRECT3DDEVICE3 iface
,
817 D3DLIGHTSTATETYPE dwLightStateType
,
818 LPDWORD lpdwLightState
)
820 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
821 FIXME("(%p/%p)->(%08x,%p): stub!\n", This
, iface
, dwLightStateType
, lpdwLightState
);
826 Main_IDirect3DDeviceImpl_3_2T_SetLightState(LPDIRECT3DDEVICE3 iface
,
827 D3DLIGHTSTATETYPE dwLightStateType
,
830 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
831 FIXME("(%p/%p)->(%08x,%08lx): stub!\n", This
, iface
, dwLightStateType
, dwLightState
);
836 Main_IDirect3DDeviceImpl_3_GetTexture(LPDIRECT3DDEVICE3 iface
,
838 LPDIRECT3DTEXTURE2
* lplpTexture2
)
840 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice3
, iface
);
841 FIXME("(%p/%p)->(%08lx,%p): stub!\n", This
, iface
, dwStage
, lplpTexture2
);
846 Main_IDirect3DDeviceImpl_2_SwapTextureHandles(LPDIRECT3DDEVICE2 iface
,
847 LPDIRECT3DTEXTURE2 lpD3DTex1
,
848 LPDIRECT3DTEXTURE2 lpD3DTex2
)
850 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice2
, iface
);
851 FIXME("(%p/%p)->(%p,%p): stub!\n", This
, iface
, lpD3DTex1
, lpD3DTex2
);
856 Main_IDirect3DDeviceImpl_2_NextViewport(LPDIRECT3DDEVICE2 iface
,
857 LPDIRECT3DVIEWPORT2 lpDirect3DViewport2
,
858 LPDIRECT3DVIEWPORT2
* lplpDirect3DViewport2
,
861 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice2
, iface
);
862 FIXME("(%p/%p)->(%p,%p,%08lx): stub!\n", This
, iface
, lpDirect3DViewport2
, lplpDirect3DViewport2
, dwFlags
);
867 Main_IDirect3DDeviceImpl_2_1T_EnumTextureFormats(LPDIRECT3DDEVICE2 iface
,
868 LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc
,
871 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice2
, iface
);
872 FIXME("(%p/%p)->(%p,%p): stub!\n", This
, iface
, lpD3DEnumTextureProc
, lpArg
);
877 Main_IDirect3DDeviceImpl_2_Begin(LPDIRECT3DDEVICE2 iface
,
878 D3DPRIMITIVETYPE d3dpt
,
879 D3DVERTEXTYPE dwVertexTypeDesc
,
882 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice2
, iface
);
883 FIXME("(%p/%p)->(%08x,%08x,%08lx): stub!\n", This
, iface
, d3dpt
, dwVertexTypeDesc
, dwFlags
);
888 Main_IDirect3DDeviceImpl_2_BeginIndexed(LPDIRECT3DDEVICE2 iface
,
889 D3DPRIMITIVETYPE d3dptPrimitiveType
,
890 D3DVERTEXTYPE d3dvtVertexType
,
895 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice2
, iface
);
896 FIXME("(%p/%p)->(%08x,%08x,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwNumVertices
, dwFlags
);
901 Main_IDirect3DDeviceImpl_2_DrawPrimitive(LPDIRECT3DDEVICE2 iface
,
902 D3DPRIMITIVETYPE d3dptPrimitiveType
,
903 D3DVERTEXTYPE d3dvtVertexType
,
908 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice2
, iface
);
909 FIXME("(%p/%p)->(%08x,%08x,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwVertexCount
, dwFlags
);
914 Main_IDirect3DDeviceImpl_2_DrawIndexedPrimitive(LPDIRECT3DDEVICE2 iface
,
915 D3DPRIMITIVETYPE d3dptPrimitiveType
,
916 D3DVERTEXTYPE d3dvtVertexType
,
923 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice2
, iface
);
924 FIXME("(%p/%p)->(%08x,%08x,%p,%08lx,%p,%08lx,%08lx): stub!\n", This
, iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwVertexCount
, dwIndices
, dwIndexCount
, dwFlags
);
929 Main_IDirect3DDeviceImpl_1_Initialize(LPDIRECT3DDEVICE iface
,
930 LPDIRECT3D lpDirect3D
,
932 LPD3DDEVICEDESC lpD3DDVDesc
)
934 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
935 FIXME("(%p/%p)->(%p,%p,%p): stub!\n", This
, iface
, lpDirect3D
, lpGUID
, lpD3DDVDesc
);
940 Main_IDirect3DDeviceImpl_1_SwapTextureHandles(LPDIRECT3DDEVICE iface
,
941 LPDIRECT3DTEXTURE lpD3Dtex1
,
942 LPDIRECT3DTEXTURE lpD3DTex2
)
944 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
945 FIXME("(%p/%p)->(%p,%p): stub!\n", This
, iface
, lpD3Dtex1
, lpD3DTex2
);
950 Main_IDirect3DDeviceImpl_1_CreateExecuteBuffer(LPDIRECT3DDEVICE iface
,
951 LPD3DEXECUTEBUFFERDESC lpDesc
,
952 LPDIRECT3DEXECUTEBUFFER
* lplpDirect3DExecuteBuffer
,
955 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
956 FIXME("(%p/%p)->(%p,%p,%p): stub!\n", This
, iface
, lpDesc
, lplpDirect3DExecuteBuffer
, pUnkOuter
);
961 Main_IDirect3DDeviceImpl_1_Execute(LPDIRECT3DDEVICE iface
,
962 LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer
,
963 LPDIRECT3DVIEWPORT lpDirect3DViewport
,
966 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
967 IDirect3DExecuteBufferImpl
*lpDirect3DExecuteBufferImpl
= ICOM_OBJECT(IDirect3DExecuteBufferImpl
, IDirect3DExecuteBuffer
, lpDirect3DExecuteBuffer
);
968 IDirect3DViewportImpl
*lpDirect3DViewportImpl
= ICOM_OBJECT(IDirect3DViewportImpl
, IDirect3DViewport3
, lpDirect3DViewport
);
970 TRACE("(%p/%p)->(%p,%p,%08lx)\n", This
, iface
, lpDirect3DExecuteBuffer
, lpDirect3DViewport
, dwFlags
);
972 /* Put this as the default context */
975 lpDirect3DExecuteBufferImpl
->execute(lpDirect3DExecuteBufferImpl
, This
, lpDirect3DViewportImpl
);
981 Main_IDirect3DDeviceImpl_1_NextViewport(LPDIRECT3DDEVICE iface
,
982 LPDIRECT3DVIEWPORT lpDirect3DViewport
,
983 LPDIRECT3DVIEWPORT
* lplpDirect3DViewport
,
986 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
987 FIXME("(%p/%p)->(%p,%p,%08lx): stub!\n", This
, iface
, lpDirect3DViewport
, lplpDirect3DViewport
, dwFlags
);
992 Main_IDirect3DDeviceImpl_1_Pick(LPDIRECT3DDEVICE iface
,
993 LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer
,
994 LPDIRECT3DVIEWPORT lpDirect3DViewport
,
998 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
999 FIXME("(%p/%p)->(%p,%p,%08lx,%p): stub!\n", This
, iface
, lpDirect3DExecuteBuffer
, lpDirect3DViewport
, dwFlags
, lpRect
);
1004 Main_IDirect3DDeviceImpl_1_GetPickRecords(LPDIRECT3DDEVICE iface
,
1006 LPD3DPICKRECORD lpD3DPickRec
)
1008 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
1009 FIXME("(%p/%p)->(%p,%p): stub!\n", This
, iface
, lpCount
, lpD3DPickRec
);
1014 Main_IDirect3DDeviceImpl_1_CreateMatrix(LPDIRECT3DDEVICE iface
,
1015 LPD3DMATRIXHANDLE lpD3DMatHandle
)
1017 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
1018 TRACE("(%p/%p)->(%p)\n", This
, iface
, lpD3DMatHandle
);
1020 *lpD3DMatHandle
= (D3DMATRIXHANDLE
) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, sizeof(D3DMATRIX
));
1021 TRACE(" returning matrix handle %p\n", (void *) *lpD3DMatHandle
);
1027 Main_IDirect3DDeviceImpl_1_SetMatrix(LPDIRECT3DDEVICE iface
,
1028 D3DMATRIXHANDLE D3DMatHandle
,
1029 LPD3DMATRIX lpD3DMatrix
)
1031 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
1032 TRACE("(%p/%p)->(%08lx,%p)\n", This
, iface
, (DWORD
) D3DMatHandle
, lpD3DMatrix
);
1034 dump_mat(lpD3DMatrix
);
1035 *((D3DMATRIX
*) D3DMatHandle
) = *lpD3DMatrix
;
1041 Main_IDirect3DDeviceImpl_1_GetMatrix(LPDIRECT3DDEVICE iface
,
1042 D3DMATRIXHANDLE D3DMatHandle
,
1043 LPD3DMATRIX lpD3DMatrix
)
1045 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
1046 TRACE("(%p/%p)->(%08lx,%p)\n", This
, iface
, (DWORD
) D3DMatHandle
, lpD3DMatrix
);
1048 *lpD3DMatrix
= *((D3DMATRIX
*) D3DMatHandle
);
1054 Main_IDirect3DDeviceImpl_1_DeleteMatrix(LPDIRECT3DDEVICE iface
,
1055 D3DMATRIXHANDLE D3DMatHandle
)
1057 ICOM_THIS_FROM(IDirect3DDeviceImpl
, IDirect3DDevice
, iface
);
1058 TRACE("(%p/%p)->(%08lx)\n", This
, iface
, (DWORD
) D3DMatHandle
);
1060 HeapFree(GetProcessHeap(), 0, (void *) D3DMatHandle
);
1066 Thunk_IDirect3DDeviceImpl_3_QueryInterface(LPDIRECT3DDEVICE3 iface
,
1070 TRACE("(%p)->(%s,%p) thunking to IDirect3DDevice7 interface.\n", iface
, debugstr_guid(riid
), obp
);
1071 return IDirect3DDevice7_QueryInterface(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1077 Thunk_IDirect3DDeviceImpl_2_QueryInterface(LPDIRECT3DDEVICE2 iface
,
1081 TRACE("(%p)->(%s,%p) thunking to IDirect3DDevice7 interface.\n", iface
, debugstr_guid(riid
), obp
);
1082 return IDirect3DDevice7_QueryInterface(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1088 Thunk_IDirect3DDeviceImpl_1_QueryInterface(LPDIRECT3DDEVICE iface
,
1092 TRACE("(%p)->(%s,%p) thunking to IDirect3DDevice7 interface.\n", iface
, debugstr_guid(riid
), obp
);
1093 return IDirect3DDevice7_QueryInterface(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice7
, iface
),
1099 Thunk_IDirect3DDeviceImpl_3_AddRef(LPDIRECT3DDEVICE3 iface
)
1101 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1102 return IDirect3DDevice7_AddRef(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
));
1106 Thunk_IDirect3DDeviceImpl_2_AddRef(LPDIRECT3DDEVICE2 iface
)
1108 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1109 return IDirect3DDevice7_AddRef(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
));
1113 Thunk_IDirect3DDeviceImpl_1_AddRef(LPDIRECT3DDEVICE iface
)
1115 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1116 return IDirect3DDevice7_AddRef(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice7
, iface
));
1120 Thunk_IDirect3DDeviceImpl_3_Release(LPDIRECT3DDEVICE3 iface
)
1122 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1123 return IDirect3DDevice7_Release(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
));
1127 Thunk_IDirect3DDeviceImpl_2_Release(LPDIRECT3DDEVICE2 iface
)
1129 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1130 return IDirect3DDevice7_Release(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
));
1134 Thunk_IDirect3DDeviceImpl_1_Release(LPDIRECT3DDEVICE iface
)
1136 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1137 return IDirect3DDevice7_Release(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice7
, iface
));
1141 Thunk_IDirect3DDeviceImpl_2_AddViewport(LPDIRECT3DDEVICE2 iface
,
1142 LPDIRECT3DVIEWPORT2 lpDirect3DViewport2
)
1144 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpDirect3DViewport2
);
1145 return IDirect3DDevice3_AddViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1146 (LPDIRECT3DVIEWPORT3
) lpDirect3DViewport2
/* No need to cast here as all interfaces are equivalent */);
1150 Thunk_IDirect3DDeviceImpl_1_AddViewport(LPDIRECT3DDEVICE iface
,
1151 LPDIRECT3DVIEWPORT lpDirect3DViewport
)
1153 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpDirect3DViewport
);
1154 return IDirect3DDevice3_AddViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice3
, iface
),
1155 (LPDIRECT3DVIEWPORT3
) lpDirect3DViewport
/* No need to cast here as all interfaces are equivalent */);
1159 Thunk_IDirect3DDeviceImpl_2_DeleteViewport(LPDIRECT3DDEVICE2 iface
,
1160 LPDIRECT3DVIEWPORT2 lpDirect3DViewport2
)
1162 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpDirect3DViewport2
);
1163 return IDirect3DDevice3_DeleteViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1164 (LPDIRECT3DVIEWPORT3
) lpDirect3DViewport2
/* No need to cast here as all interfaces are equivalent */);
1168 Thunk_IDirect3DDeviceImpl_1_DeleteViewport(LPDIRECT3DDEVICE iface
,
1169 LPDIRECT3DVIEWPORT lpDirect3DViewport
)
1171 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpDirect3DViewport
);
1172 return IDirect3DDevice3_DeleteViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice3
, iface
),
1173 (LPDIRECT3DVIEWPORT3
) lpDirect3DViewport
/* No need to cast here as all interfaces are equivalent */);
1177 Thunk_IDirect3DDeviceImpl_2_NextViewport(LPDIRECT3DDEVICE3 iface
,
1178 LPDIRECT3DVIEWPORT2 lpDirect3DViewport2
,
1179 LPDIRECT3DVIEWPORT2
* lplpDirect3DViewport2
,
1182 TRACE("(%p)->(%p,%p,%08lx) thunking to IDirect3DDevice3 interface.\n", iface
, lpDirect3DViewport2
, lplpDirect3DViewport2
, dwFlags
);
1183 return IDirect3DDevice3_NextViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1184 (LPDIRECT3DVIEWPORT3
) lpDirect3DViewport2
/* No need to cast here as all interfaces are equivalent */,
1185 (LPDIRECT3DVIEWPORT3
*) lplpDirect3DViewport2
,
1190 Thunk_IDirect3DDeviceImpl_1_NextViewport(LPDIRECT3DDEVICE3 iface
,
1191 LPDIRECT3DVIEWPORT lpDirect3DViewport
,
1192 LPDIRECT3DVIEWPORT
* lplpDirect3DViewport
,
1195 TRACE("(%p)->(%p,%p,%08lx) thunking to IDirect3DDevice3 interface.\n", iface
, lpDirect3DViewport
, lplpDirect3DViewport
, dwFlags
);
1196 return IDirect3DDevice3_NextViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice3
, iface
),
1197 (LPDIRECT3DVIEWPORT3
) lpDirect3DViewport
/* No need to cast here as all interfaces are equivalent */,
1198 (LPDIRECT3DVIEWPORT3
*) lplpDirect3DViewport
,
1203 Thunk_IDirect3DDeviceImpl_3_GetDirect3D(LPDIRECT3DDEVICE3 iface
,
1204 LPDIRECT3D3
* lplpDirect3D3
)
1207 LPDIRECT3D7 ret_ptr
;
1209 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lplpDirect3D3
);
1210 ret
= IDirect3DDevice7_GetDirect3D(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1212 *lplpDirect3D3
= COM_INTERFACE_CAST(IDirect3DImpl
, IDirect3D7
, IDirect3D3
, ret_ptr
);
1213 TRACE(" returning interface %p\n", *lplpDirect3D3
);
1218 Thunk_IDirect3DDeviceImpl_2_GetDirect3D(LPDIRECT3DDEVICE2 iface
,
1219 LPDIRECT3D2
* lplpDirect3D2
)
1222 LPDIRECT3D7 ret_ptr
;
1224 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lplpDirect3D2
);
1225 ret
= IDirect3DDevice7_GetDirect3D(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1227 *lplpDirect3D2
= COM_INTERFACE_CAST(IDirect3DImpl
, IDirect3D7
, IDirect3D2
, ret_ptr
);
1228 TRACE(" returning interface %p\n", *lplpDirect3D2
);
1233 Thunk_IDirect3DDeviceImpl_1_GetDirect3D(LPDIRECT3DDEVICE iface
,
1234 LPDIRECT3D
* lplpDirect3D
)
1237 LPDIRECT3D7 ret_ptr
;
1239 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lplpDirect3D
);
1240 ret
= IDirect3DDevice7_GetDirect3D(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice7
, iface
),
1242 *lplpDirect3D
= COM_INTERFACE_CAST(IDirect3DImpl
, IDirect3D7
, IDirect3D
, ret_ptr
);
1243 TRACE(" returning interface %p\n", *lplpDirect3D
);
1248 Thunk_IDirect3DDeviceImpl_2_SetCurrentViewport(LPDIRECT3DDEVICE2 iface
,
1249 LPDIRECT3DVIEWPORT2 lpDirect3DViewport2
)
1251 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpDirect3DViewport2
);
1252 return IDirect3DDevice3_SetCurrentViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1253 (LPDIRECT3DVIEWPORT3
) lpDirect3DViewport2
/* No need to cast here as all interfaces are equivalent */);
1257 Thunk_IDirect3DDeviceImpl_2_GetCurrentViewport(LPDIRECT3DDEVICE2 iface
,
1258 LPDIRECT3DVIEWPORT2
* lplpDirect3DViewport2
)
1260 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lplpDirect3DViewport2
);
1261 return IDirect3DDevice3_GetCurrentViewport(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1262 (LPDIRECT3DVIEWPORT3
*) lplpDirect3DViewport2
/* No need to cast here as all interfaces are equivalent */);
1266 Thunk_IDirect3DDeviceImpl_3_EnumTextureFormats(LPDIRECT3DDEVICE3 iface
,
1267 LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc
,
1270 TRACE("(%p)->(%p,%p) thunking to IDirect3DDevice7 interface.\n", iface
, lpD3DEnumPixelProc
, lpArg
);
1271 return IDirect3DDevice7_EnumTextureFormats(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1277 Thunk_IDirect3DDeviceImpl_3_BeginScene(LPDIRECT3DDEVICE3 iface
)
1279 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1280 return IDirect3DDevice7_BeginScene(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
));
1284 Thunk_IDirect3DDeviceImpl_2_BeginScene(LPDIRECT3DDEVICE2 iface
)
1286 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1287 return IDirect3DDevice7_BeginScene(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
));
1291 Thunk_IDirect3DDeviceImpl_1_BeginScene(LPDIRECT3DDEVICE iface
)
1293 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1294 return IDirect3DDevice7_BeginScene(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice7
, iface
));
1298 Thunk_IDirect3DDeviceImpl_3_EndScene(LPDIRECT3DDEVICE3 iface
)
1300 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1301 return IDirect3DDevice7_EndScene(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
));
1305 Thunk_IDirect3DDeviceImpl_2_EndScene(LPDIRECT3DDEVICE2 iface
)
1307 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1308 return IDirect3DDevice7_EndScene(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
));
1312 Thunk_IDirect3DDeviceImpl_1_EndScene(LPDIRECT3DDEVICE iface
)
1314 TRACE("(%p)->() thunking to IDirect3DDevice7 interface.\n", iface
);
1315 return IDirect3DDevice7_EndScene(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice7
, iface
));
1319 Thunk_IDirect3DDeviceImpl_3_SetTransform(LPDIRECT3DDEVICE3 iface
,
1320 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
1321 LPD3DMATRIX lpD3DMatrix
)
1323 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dtstTransformStateType
, lpD3DMatrix
);
1324 return IDirect3DDevice7_SetTransform(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1325 dtstTransformStateType
,
1330 Thunk_IDirect3DDeviceImpl_2_SetTransform(LPDIRECT3DDEVICE2 iface
,
1331 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
1332 LPD3DMATRIX lpD3DMatrix
)
1334 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dtstTransformStateType
, lpD3DMatrix
);
1335 return IDirect3DDevice7_SetTransform(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1336 dtstTransformStateType
,
1341 Thunk_IDirect3DDeviceImpl_3_GetTransform(LPDIRECT3DDEVICE3 iface
,
1342 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
1343 LPD3DMATRIX lpD3DMatrix
)
1345 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dtstTransformStateType
, lpD3DMatrix
);
1346 return IDirect3DDevice7_GetTransform(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1347 dtstTransformStateType
,
1352 Thunk_IDirect3DDeviceImpl_2_GetTransform(LPDIRECT3DDEVICE2 iface
,
1353 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
1354 LPD3DMATRIX lpD3DMatrix
)
1356 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dtstTransformStateType
, lpD3DMatrix
);
1357 return IDirect3DDevice7_GetTransform(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1358 dtstTransformStateType
,
1363 Thunk_IDirect3DDeviceImpl_3_MultiplyTransform(LPDIRECT3DDEVICE3 iface
,
1364 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
1365 LPD3DMATRIX lpD3DMatrix
)
1367 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dtstTransformStateType
, lpD3DMatrix
);
1368 return IDirect3DDevice7_MultiplyTransform(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1369 dtstTransformStateType
,
1374 Thunk_IDirect3DDeviceImpl_2_MultiplyTransform(LPDIRECT3DDEVICE2 iface
,
1375 D3DTRANSFORMSTATETYPE dtstTransformStateType
,
1376 LPD3DMATRIX lpD3DMatrix
)
1378 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dtstTransformStateType
, lpD3DMatrix
);
1379 return IDirect3DDevice7_MultiplyTransform(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1380 dtstTransformStateType
,
1385 Thunk_IDirect3DDeviceImpl_3_SetRenderState(LPDIRECT3DDEVICE3 iface
,
1386 D3DRENDERSTATETYPE dwRenderStateType
,
1387 DWORD dwRenderState
)
1389 TRACE("(%p)->(%08x,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, dwRenderStateType
, dwRenderState
);
1390 return IDirect3DDevice7_SetRenderState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1396 Thunk_IDirect3DDeviceImpl_2_SetRenderState(LPDIRECT3DDEVICE2 iface
,
1397 D3DRENDERSTATETYPE dwRenderStateType
,
1398 DWORD dwRenderState
)
1400 TRACE("(%p)->(%08x,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, dwRenderStateType
, dwRenderState
);
1401 return IDirect3DDevice7_SetRenderState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1407 Thunk_IDirect3DDeviceImpl_3_GetRenderState(LPDIRECT3DDEVICE3 iface
,
1408 D3DRENDERSTATETYPE dwRenderStateType
,
1409 LPDWORD lpdwRenderState
)
1411 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dwRenderStateType
, lpdwRenderState
);
1412 return IDirect3DDevice7_GetRenderState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1418 Thunk_IDirect3DDeviceImpl_2_GetRenderState(LPDIRECT3DDEVICE2 iface
,
1419 D3DRENDERSTATETYPE dwRenderStateType
,
1420 LPDWORD lpdwRenderState
)
1422 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dwRenderStateType
, lpdwRenderState
);
1423 return IDirect3DDevice7_GetRenderState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1429 Thunk_IDirect3DDeviceImpl_3_DrawPrimitive(LPDIRECT3DDEVICE3 iface
,
1430 D3DPRIMITIVETYPE d3dptPrimitiveType
,
1431 DWORD d3dvtVertexType
,
1433 DWORD dwVertexCount
,
1436 TRACE("(%p)->(%08x,%08lx,%p,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwVertexCount
, dwFlags
);
1437 return IDirect3DDevice7_DrawPrimitive(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1446 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitive(LPDIRECT3DDEVICE3 iface
,
1447 D3DPRIMITIVETYPE d3dptPrimitiveType
,
1448 DWORD d3dvtVertexType
,
1450 DWORD dwVertexCount
,
1455 TRACE("(%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, d3dptPrimitiveType
, d3dvtVertexType
, lpvVertices
, dwVertexCount
, dwIndices
, dwIndexCount
, dwFlags
);
1456 return IDirect3DDevice7_DrawIndexedPrimitive(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1467 Thunk_IDirect3DDeviceImpl_3_SetClipStatus(LPDIRECT3DDEVICE3 iface
,
1468 LPD3DCLIPSTATUS lpD3DClipStatus
)
1470 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lpD3DClipStatus
);
1471 return IDirect3DDevice7_SetClipStatus(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1476 Thunk_IDirect3DDeviceImpl_2_SetClipStatus(LPDIRECT3DDEVICE2 iface
,
1477 LPD3DCLIPSTATUS lpD3DClipStatus
)
1479 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lpD3DClipStatus
);
1480 return IDirect3DDevice7_SetClipStatus(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1485 Thunk_IDirect3DDeviceImpl_3_GetClipStatus(LPDIRECT3DDEVICE3 iface
,
1486 LPD3DCLIPSTATUS lpD3DClipStatus
)
1488 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lpD3DClipStatus
);
1489 return IDirect3DDevice7_GetClipStatus(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1494 Thunk_IDirect3DDeviceImpl_2_GetClipStatus(LPDIRECT3DDEVICE2 iface
,
1495 LPD3DCLIPSTATUS lpD3DClipStatus
)
1497 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lpD3DClipStatus
);
1498 return IDirect3DDevice7_GetClipStatus(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1503 Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveStrided(LPDIRECT3DDEVICE3 iface
,
1504 D3DPRIMITIVETYPE d3dptPrimitiveType
,
1506 LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData
,
1507 DWORD dwVertexCount
,
1510 TRACE("(%p)->(%08x,%08lx,%p,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, d3dptPrimitiveType
, dwVertexType
, lpD3DDrawPrimStrideData
, dwVertexCount
, dwFlags
);
1511 return IDirect3DDevice7_DrawPrimitiveStrided(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1514 lpD3DDrawPrimStrideData
,
1520 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveStrided(LPDIRECT3DDEVICE3 iface
,
1521 D3DPRIMITIVETYPE d3dptPrimitiveType
,
1523 LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData
,
1524 DWORD dwVertexCount
,
1529 TRACE("(%p)->(%08x,%08lx,%p,%08lx,%p,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, d3dptPrimitiveType
, dwVertexType
, lpD3DDrawPrimStrideData
, dwVertexCount
, lpIndex
, dwIndexCount
, dwFlags
);
1530 return IDirect3DDevice7_DrawIndexedPrimitiveStrided(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1533 lpD3DDrawPrimStrideData
,
1541 Thunk_IDirect3DDeviceImpl_3_ComputeSphereVisibility(LPDIRECT3DDEVICE3 iface
,
1542 LPD3DVECTOR lpCenters
,
1546 LPDWORD lpdwReturnValues
)
1548 TRACE("(%p)->(%p,%p,%08lx,%08lx,%p) thunking to IDirect3DDevice7 interface.\n", iface
, lpCenters
, lpRadii
, dwNumSpheres
, dwFlags
, lpdwReturnValues
);
1549 return IDirect3DDevice7_ComputeSphereVisibility(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1558 Thunk_IDirect3DDeviceImpl_3_GetTextureStageState(LPDIRECT3DDEVICE3 iface
,
1560 D3DTEXTURESTAGESTATETYPE d3dTexStageStateType
,
1563 TRACE("(%p)->(%08lx,%08x,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dwStage
, d3dTexStageStateType
, lpdwState
);
1564 return IDirect3DDevice7_GetTextureStageState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1566 d3dTexStageStateType
,
1571 Thunk_IDirect3DDeviceImpl_3_SetTextureStageState(LPDIRECT3DDEVICE3 iface
,
1573 D3DTEXTURESTAGESTATETYPE d3dTexStageStateType
,
1576 TRACE("(%p)->(%08lx,%08x,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, dwStage
, d3dTexStageStateType
, dwState
);
1577 return IDirect3DDevice7_SetTextureStageState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1579 d3dTexStageStateType
,
1584 Thunk_IDirect3DDeviceImpl_3_ValidateDevice(LPDIRECT3DDEVICE3 iface
,
1587 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lpdwPasses
);
1588 return IDirect3DDevice7_ValidateDevice(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1593 Thunk_IDirect3DDeviceImpl_2_GetCaps(LPDIRECT3DDEVICE2 iface
,
1594 LPD3DDEVICEDESC lpD3DHWDevDesc
,
1595 LPD3DDEVICEDESC lpD3DHELDevDesc
)
1597 TRACE("(%p)->(%p,%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpD3DHWDevDesc
, lpD3DHELDevDesc
);
1598 return IDirect3DDevice3_GetCaps(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1604 Thunk_IDirect3DDeviceImpl_1_GetCaps(LPDIRECT3DDEVICE iface
,
1605 LPD3DDEVICEDESC lpD3DHWDevDesc
,
1606 LPD3DDEVICEDESC lpD3DHELDevDesc
)
1608 TRACE("(%p)->(%p,%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpD3DHWDevDesc
, lpD3DHELDevDesc
);
1609 return IDirect3DDevice3_GetCaps(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice3
, iface
),
1615 Thunk_IDirect3DDeviceImpl_2_GetStats(LPDIRECT3DDEVICE2 iface
,
1616 LPD3DSTATS lpD3DStats
)
1618 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpD3DStats
);
1619 return IDirect3DDevice3_GetStats(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1624 Thunk_IDirect3DDeviceImpl_1_GetStats(LPDIRECT3DDEVICE iface
,
1625 LPD3DSTATS lpD3DStats
)
1627 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpD3DStats
);
1628 return IDirect3DDevice3_GetStats(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice3
, iface
),
1633 Thunk_IDirect3DDeviceImpl_3_SetRenderTarget(LPDIRECT3DDEVICE3 iface
,
1634 LPDIRECTDRAWSURFACE4 lpNewRenderTarget
,
1637 TRACE("(%p)->(%p,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, lpNewRenderTarget
, dwFlags
);
1638 return IDirect3DDevice7_SetRenderTarget(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1639 (LPDIRECTDRAWSURFACE7
) lpNewRenderTarget
/* No cast needed as DSurf4 == DSurf7 */,
1644 Thunk_IDirect3DDeviceImpl_3_GetRenderTarget(LPDIRECT3DDEVICE3 iface
,
1645 LPDIRECTDRAWSURFACE4
* lplpRenderTarget
)
1647 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lplpRenderTarget
);
1648 return IDirect3DDevice7_GetRenderTarget(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1649 (LPDIRECTDRAWSURFACE7
*) lplpRenderTarget
/* No cast needed as DSurf4 == DSurf7 */);
1653 Thunk_IDirect3DDeviceImpl_2_SetRenderTarget(LPDIRECT3DDEVICE2 iface
,
1654 LPDIRECTDRAWSURFACE lpNewRenderTarget
,
1657 TRACE("(%p)->(%p,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
, lpNewRenderTarget
, dwFlags
);
1658 return IDirect3DDevice7_SetRenderTarget(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1659 COM_INTERFACE_CAST(IDirectDrawSurfaceImpl
, IDirectDrawSurface3
, IDirectDrawSurface7
, lpNewRenderTarget
),
1664 Thunk_IDirect3DDeviceImpl_2_GetRenderTarget(LPDIRECT3DDEVICE2 iface
,
1665 LPDIRECTDRAWSURFACE
* lplpRenderTarget
)
1668 LPDIRECTDRAWSURFACE7 ret_val
;
1670 TRACE("(%p)->(%p) thunking to IDirect3DDevice7 interface.\n", iface
, lplpRenderTarget
);
1671 ret
= IDirect3DDevice7_GetRenderTarget(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice7
, iface
),
1673 *lplpRenderTarget
= (LPDIRECTDRAWSURFACE
) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl
, IDirectDrawSurface7
, IDirectDrawSurface3
, ret_val
);
1674 TRACE(" returning interface %p\n", *lplpRenderTarget
);
1679 Thunk_IDirect3DDeviceImpl_2_Vertex(LPDIRECT3DDEVICE2 iface
,
1680 LPVOID lpVertexType
)
1682 TRACE("(%p)->(%p) thunking to IDirect3DDevice3 interface.\n", iface
, lpVertexType
);
1683 return IDirect3DDevice3_Vertex(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1688 Thunk_IDirect3DDeviceImpl_2_Index(LPDIRECT3DDEVICE2 iface
,
1691 TRACE("(%p)->(%04x) thunking to IDirect3DDevice3 interface.\n", iface
, wVertexIndex
);
1692 return IDirect3DDevice3_Index(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1697 Thunk_IDirect3DDeviceImpl_2_End(LPDIRECT3DDEVICE2 iface
,
1700 TRACE("(%p)->(%08lx) thunking to IDirect3DDevice3 interface.\n", iface
, dwFlags
);
1701 return IDirect3DDevice3_End(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1706 Thunk_IDirect3DDeviceImpl_2_GetLightState(LPDIRECT3DDEVICE2 iface
,
1707 D3DLIGHTSTATETYPE dwLightStateType
,
1708 LPDWORD lpdwLightState
)
1710 TRACE("(%p)->(%08x,%p) thunking to IDirect3DDevice3 interface.\n", iface
, dwLightStateType
, lpdwLightState
);
1711 return IDirect3DDevice3_GetLightState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1717 Thunk_IDirect3DDeviceImpl_2_SetLightState(LPDIRECT3DDEVICE2 iface
,
1718 D3DLIGHTSTATETYPE dwLightStateType
,
1721 TRACE("(%p)->(%08x,%08lx) thunking to IDirect3DDevice3 interface.\n", iface
, dwLightStateType
, dwLightState
);
1722 return IDirect3DDevice3_SetLightState(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice2
, IDirect3DDevice3
, iface
),
1728 Thunk_IDirect3DDeviceImpl_1_EnumTextureFormats(LPDIRECT3DDEVICE iface
,
1729 LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc
,
1732 TRACE("(%p)->(%p,%p) thunking to IDirect3DDevice2 interface.\n", iface
, lpD3DEnumTextureProc
, lpArg
);
1733 return IDirect3DDevice2_EnumTextureFormats(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice
, IDirect3DDevice2
, iface
),
1734 lpD3DEnumTextureProc
,
1739 Thunk_IDirect3DDeviceImpl_3_SetTexture(LPDIRECT3DDEVICE3 iface
,
1741 LPDIRECT3DTEXTURE2 lpTexture2
)
1743 TRACE("(%p)->(%ld,%p) thunking to IDirect3DDevice7 interface.\n", iface
, dwStage
, lpTexture2
);
1744 return IDirect3DDevice7_SetTexture(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1746 COM_INTERFACE_CAST(IDirectDrawSurfaceImpl
, IDirect3DTexture2
, IDirectDrawSurface7
, lpTexture2
));
1750 Thunk_IDirect3DDeviceImpl_3_DrawPrimitiveVB(LPDIRECT3DDEVICE3 iface
,
1751 D3DPRIMITIVETYPE d3dptPrimitiveType
,
1752 LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf
,
1753 DWORD dwStartVertex
,
1754 DWORD dwNumVertices
,
1757 TRACE("(%p)->(%08x,%p,%08lx,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
,
1758 d3dptPrimitiveType
, lpD3DVertexBuf
, dwStartVertex
, dwNumVertices
, dwFlags
);
1759 return IDirect3DDevice7_DrawPrimitiveVB(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1761 COM_INTERFACE_CAST(IDirect3DVertexBufferImpl
, IDirect3DVertexBuffer
, IDirect3DVertexBuffer7
, lpD3DVertexBuf
),
1768 Thunk_IDirect3DDeviceImpl_3_DrawIndexedPrimitiveVB(LPDIRECT3DDEVICE3 iface
,
1769 D3DPRIMITIVETYPE d3dptPrimitiveType
,
1770 LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf
,
1775 TRACE("(%p)->(%08x,%p,%p,%08lx,%08lx) thunking to IDirect3DDevice7 interface.\n", iface
,
1776 d3dptPrimitiveType
, lpD3DVertexBuf
, lpwIndices
, dwIndexCount
, dwFlags
);
1777 return IDirect3DDevice7_DrawIndexedPrimitiveVB(COM_INTERFACE_CAST(IDirect3DDeviceImpl
, IDirect3DDevice3
, IDirect3DDevice7
, iface
),
1779 COM_INTERFACE_CAST(IDirect3DVertexBufferImpl
, IDirect3DVertexBuffer
, IDirect3DVertexBuffer7
, lpD3DVertexBuf
),