blob: 346c3e3cab477b1b6fd634a4c23fcbccafb8c034 [file] [log] [blame]
Nicolas Capens0bac2852016-05-07 06:09:58 -04001// Copyright 2016 The SwiftShader Authors. All Rights Reserved.
Nicolas Capensee16f0d2015-07-16 17:40:10 -04002//
Nicolas Capens0bac2852016-05-07 06:09:58 -04003// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
Nicolas Capensee16f0d2015-07-16 17:40:10 -04006//
Nicolas Capens0bac2852016-05-07 06:09:58 -04007// http://www.apache.org/licenses/LICENSE-2.0
Nicolas Capensee16f0d2015-07-16 17:40:10 -04008//
Nicolas Capens0bac2852016-05-07 06:09:58 -04009// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
Nicolas Capensee16f0d2015-07-16 17:40:10 -040014
15#include "Direct3DDevice9Ex.hpp"
16
17#include "Direct3D9Ex.hpp"
18#include "Direct3DSurface9.hpp"
19#include "Direct3DIndexBuffer9.hpp"
20#include "Direct3DVertexBuffer9.hpp"
21#include "Direct3DTexture9.hpp"
22#include "Direct3DVolumeTexture9.hpp"
23#include "Direct3DCubeTexture9.hpp"
24#include "Direct3DVertexDeclaration9.hpp"
25#include "Direct3DSwapChain9.hpp"
26#include "Direct3DPixelShader9.hpp"
27#include "Direct3DVertexShader9.hpp"
28#include "Direct3DStateBlock9.hpp"
29#include "Direct3DQuery9.hpp"
30#include "Direct3DVolume9.hpp"
31
32#include "Debug.hpp"
33#include "Renderer.hpp"
34#include "FrameBuffer.hpp"
35#include "Clipper.hpp"
36#include "Configurator.hpp"
37#include "Timer.hpp"
38
39#include <assert.h>
40
41namespace D3D9
42{
43 inline unsigned long FtoDW(float f)
44 {
45 return (unsigned long&)f;
46 }
47
48 inline float DWtoF(unsigned long dw)
49 {
50 return (float&)dw;
51 }
52
53 Direct3DDevice9Ex::Direct3DDevice9Ex(const HINSTANCE instance, Direct3D9Ex *d3d9ex, unsigned int adapter, D3DDEVTYPE deviceType, HWND focusWindow, unsigned long behaviourFlags, D3DPRESENT_PARAMETERS *presentParameters) : Direct3DDevice9(instance, d3d9ex, adapter, deviceType, focusWindow, behaviourFlags, presentParameters), d3d9ex(d3d9ex)
54 {
55 }
56
57 Direct3DDevice9Ex::~Direct3DDevice9Ex()
58 {
59 }
60
61 long Direct3DDevice9Ex::QueryInterface(const IID &iid, void **object)
62 {
63 CriticalSection cs(this);
64
65 TRACE("const IID &iid = 0x%0.8p, void **object = 0x%0.8p", iid, object);
66
67 if(iid == IID_IDirect3DDevice9Ex ||
68 iid == IID_IDirect3DDevice9 ||
69 iid == IID_IUnknown)
70 {
71 AddRef();
72 *object = this;
73
74 return S_OK;
75 }
76
77 *object = 0;
78
79 return NOINTERFACE(iid);
80 }
81
82 unsigned long Direct3DDevice9Ex::AddRef()
83 {
84 TRACE("void");
85
86 return Direct3DDevice9::AddRef();
87 }
Nicolas Capens0bac2852016-05-07 06:09:58 -040088
Nicolas Capensee16f0d2015-07-16 17:40:10 -040089 unsigned long Direct3DDevice9Ex::Release()
90 {
91 TRACE("void");
92
93 return Direct3DDevice9::Release();
94 }
95
96 long Direct3DDevice9Ex::BeginScene()
97 {
98 TRACE("void");
99
100 return Direct3DDevice9::BeginScene();
101 }
102
103 long Direct3DDevice9Ex::BeginStateBlock()
104 {
105 TRACE("void");
106
107 return Direct3DDevice9::BeginStateBlock();
108 }
109
110 long Direct3DDevice9Ex::Clear(unsigned long count, const D3DRECT *rects, unsigned long flags, unsigned long color, float z, unsigned long stencil)
111 {
112 TRACE("unsigned long count = %d, const D3DRECT *rects = 0x%0.8p, unsigned long flags = 0x%0.8X, unsigned long color = 0x%0.8X, float z = %f, unsigned long stencil = %d", count, rects, flags, color, z, stencil);
113
114 return Direct3DDevice9::Clear(count, rects, flags, color, z, stencil);
115 }
116
117 long Direct3DDevice9Ex::ColorFill(IDirect3DSurface9 *surface, const RECT *rect, D3DCOLOR color)
118 {
119 TRACE("IDirect3DSurface9 *surface = 0x%0.8p, const RECT *rect = 0x%0.8p, D3DCOLOR color = 0x%0.8X", surface, rect, color);
120
121 return Direct3DDevice9::ColorFill(surface, rect, color);
122 }
123
124 long Direct3DDevice9Ex::CreateAdditionalSwapChain(D3DPRESENT_PARAMETERS *presentParameters, IDirect3DSwapChain9 **swapChain)
125 {
126 TRACE("D3DPRESENT_PARAMETERS *presentParameters = 0x%0.8p, IDirect3DSwapChain9 **swapChain = 0x%0.8p", presentParameters, swapChain);
127
128 return Direct3DDevice9::CreateAdditionalSwapChain(presentParameters, swapChain);
129 }
130
131 long Direct3DDevice9Ex::CreateCubeTexture(unsigned int edgeLength, unsigned int levels, unsigned long usage, D3DFORMAT format, D3DPOOL pool, IDirect3DCubeTexture9 **cubeTexture, void **sharedHandle)
132 {
133 TRACE("unsigned int edgeLength = %d, unsigned int levels = %d, unsigned long usage = %d, D3DFORMAT format = %d, D3DPOOL pool = %d, IDirect3DCubeTexture9 **cubeTexture = 0x%0.8p, void **sharedHandle = 0x%0.8p", edgeLength, levels, usage, format, pool, cubeTexture, sharedHandle);
134
135 return Direct3DDevice9::CreateCubeTexture(edgeLength, levels, usage, format, pool, cubeTexture, sharedHandle);
136 }
137
138 long Direct3DDevice9Ex::CreateDepthStencilSurface(unsigned int width, unsigned int height, D3DFORMAT format, D3DMULTISAMPLE_TYPE multiSample, unsigned long multiSampleQuality, int discard, IDirect3DSurface9 **surface, void **sharedHandle)
139 {
140 TRACE("unsigned int width = %d, unsigned int height = %d, D3DFORMAT format = %d, D3DMULTISAMPLE_TYPE multiSample = %d, unsigned long multiSampleQuality = %d, int discard = %d, IDirect3DSurface9 **surface = 0x%0.8p, void **sharedHandle = 0x%0.8p", width, height, format, multiSample, multiSampleQuality, discard, surface, sharedHandle);
141
142 return Direct3DDevice9::CreateDepthStencilSurface(width, height, format, multiSample, multiSampleQuality, discard, surface, sharedHandle);
143 }
144
145 long Direct3DDevice9Ex::CreateIndexBuffer(unsigned int length, unsigned long usage, D3DFORMAT format, D3DPOOL pool, IDirect3DIndexBuffer9 **indexBuffer, void **sharedHandle)
146 {
147 TRACE("unsigned int length = %d, unsigned long usage = %d, D3DFORMAT format = %d, D3DPOOL pool = %d, IDirect3DIndexBuffer9 **indexBuffer = 0x%0.8p, void **sharedHandle = 0x%0.8p", length, usage, format, pool, indexBuffer, sharedHandle);
148
149 return Direct3DDevice9::CreateIndexBuffer(length, usage, format, pool, indexBuffer, sharedHandle);
150 }
151
152 long Direct3DDevice9Ex::CreateOffscreenPlainSurface(unsigned int width, unsigned int height, D3DFORMAT format, D3DPOOL pool, IDirect3DSurface9 **surface, void **sharedHandle)
153 {
154 TRACE("unsigned int width = %d, unsigned int height = %d, D3DFORMAT format = %d, D3DPOOL pool = %d, IDirect3DSurface9 **surface = 0x%0.8p, void **sharedHandle = 0x%0.8p", width, height, format, pool, surface, sharedHandle);
155
156 return Direct3DDevice9::CreateOffscreenPlainSurface(width, height, format, pool, surface, sharedHandle);
157 }
158
159 long Direct3DDevice9Ex::CreatePixelShader(const unsigned long *function, IDirect3DPixelShader9 **shader)
160 {
161 TRACE("const unsigned long *function = 0x%0.8p, IDirect3DPixelShader9 **shader = 0x%0.8p", function, shader);
162
163 return Direct3DDevice9::CreatePixelShader(function, shader);
164 }
165
166 long Direct3DDevice9Ex::CreateQuery(D3DQUERYTYPE type, IDirect3DQuery9 **query)
167 {
168 TRACE("D3DQUERYTYPE type = %d, IDirect3DQuery9 **query = 0x%0.8p", type, query);
169
170 return Direct3DDevice9::CreateQuery(type, query);
171 }
172
173 long Direct3DDevice9Ex::CreateRenderTarget(unsigned int width, unsigned int height, D3DFORMAT format, D3DMULTISAMPLE_TYPE multiSample, unsigned long multiSampleQuality, int lockable, IDirect3DSurface9 **surface, void **sharedHandle)
174 {
175 TRACE("unsigned int width = %d, unsigned int height = %d, D3DFORMAT format = %d, D3DMULTISAMPLE_TYPE multiSample = %d, unsigned long multiSampleQuality = %d, int lockable = %d, IDirect3DSurface9 **surface = 0x%0.8p, void **sharedHandle = 0x%0.8p", width, height, format, multiSample, multiSampleQuality, lockable, surface, sharedHandle);
176
177 return Direct3DDevice9::CreateRenderTarget(width, height, format, multiSample, multiSampleQuality, lockable, surface, sharedHandle);
178 }
179
180 long Direct3DDevice9Ex::CreateStateBlock(D3DSTATEBLOCKTYPE type, IDirect3DStateBlock9 **stateBlock)
181 {
182 TRACE("D3DSTATEBLOCKTYPE type = %d, IDirect3DStateBlock9 **stateBlock = 0x%0.8p", type, stateBlock);
183
184 return Direct3DDevice9::CreateStateBlock(type, stateBlock);
185 }
186
187 long Direct3DDevice9Ex::CreateTexture(unsigned int width, unsigned int height, unsigned int levels, unsigned long usage, D3DFORMAT format, D3DPOOL pool, IDirect3DTexture9 **texture, void **sharedHandle)
188 {
189 TRACE("unsigned int width = %d, unsigned int height = %d, unsigned int levels = %d, unsigned long usage = %d, D3DFORMAT format = %d, D3DPOOL pool = %d, IDirect3DTexture9 **texture = 0x%0.8p, void **sharedHandle = 0x%0.8p", width, height, levels, usage, format, pool, texture, sharedHandle);
190
191 return Direct3DDevice9::CreateTexture(width, height, levels, usage, format, pool, texture, sharedHandle);
192 }
193
194 long Direct3DDevice9Ex::CreateVertexBuffer(unsigned int length, unsigned long usage, unsigned long FVF, D3DPOOL pool, IDirect3DVertexBuffer9 **vertexBuffer, void **sharedHandle)
195 {
196 TRACE("unsigned int length = %d, unsigned long usage = %d, unsigned long FVF = 0x%0.8X, D3DPOOL pool = %d, IDirect3DVertexBuffer9 **vertexBuffer = 0x%0.8p, void **sharedHandle = 0x%0.8p", length, usage, FVF, pool, vertexBuffer, sharedHandle);
197
198 return Direct3DDevice9::CreateVertexBuffer(length, usage, FVF, pool, vertexBuffer, sharedHandle);
199 }
200
201 long Direct3DDevice9Ex::CreateVertexDeclaration(const D3DVERTEXELEMENT9 *vertexElements, IDirect3DVertexDeclaration9 **declaration)
202 {
203 TRACE("const D3DVERTEXELEMENT9 *vertexElements = 0x%0.8p, IDirect3DVertexDeclaration9 **declaration = 0x%0.8p", vertexElements, declaration);
204
205 return Direct3DDevice9::CreateVertexDeclaration(vertexElements, declaration);
206 }
207
208 long Direct3DDevice9Ex::CreateVertexShader(const unsigned long *function, IDirect3DVertexShader9 **shader)
209 {
210 TRACE("const unsigned long *function = 0x%0.8p, IDirect3DVertexShader9 **shader = 0x%0.8p", function, shader);
211
212 return Direct3DDevice9::CreateVertexShader(function, shader);
213 }
214
215 long Direct3DDevice9Ex::CreateVolumeTexture(unsigned int width, unsigned int height, unsigned int depth, unsigned int levels, unsigned long usage, D3DFORMAT format, D3DPOOL pool, IDirect3DVolumeTexture9 **volumeTexture, void **sharedHandle)
216 {
217 TRACE("unsigned int width = %d, unsigned int height = %d, unsigned int depth = %d, unsigned int levels = %d, unsigned long usage = %d, D3DFORMAT format = %d, D3DPOOL pool = %d, IDirect3DVolumeTexture9 **volumeTexture = 0x%0.8p, void **sharedHandle = 0x%0.8p", width, height, depth, levels, usage, format, pool, volumeTexture, sharedHandle);
218
219 return Direct3DDevice9::CreateVolumeTexture(width, height, depth, levels, usage, format, pool, volumeTexture, sharedHandle);
220 }
221
222 long Direct3DDevice9Ex::DeletePatch(unsigned int handle)
223 {
224 TRACE("unsigned int handle = %d", handle);
225
226 return Direct3DDevice9::DeletePatch(handle);
227 }
228
229 long Direct3DDevice9Ex::DrawIndexedPrimitive(D3DPRIMITIVETYPE type, int baseVertexIndex, unsigned int minIndex, unsigned int numVertices, unsigned int startIndex, unsigned int primitiveCount)
230 {
231 TRACE("D3DPRIMITIVETYPE type = %d, int baseVertexIndex = %d, unsigned int minIndex = %d, unsigned int numVertices = %d, unsigned int startIndex = %d, unsigned int primitiveCount = %d", type, baseVertexIndex, minIndex, numVertices, startIndex, primitiveCount);
232
233 return Direct3DDevice9::DrawIndexedPrimitive(type, baseVertexIndex, minIndex, numVertices, startIndex, primitiveCount);
234 }
235
236 long Direct3DDevice9Ex::DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE type, unsigned int minIndex, unsigned int numVertices, unsigned int primitiveCount, const void *indexData, D3DFORMAT indexDataFormat, const void *vertexStreamZeroData, unsigned int vertexStreamZeroStride)
237 {
238 TRACE("D3DPRIMITIVETYPE type = %d, unsigned int minIndex = %d, unsigned int numVertices = %d, unsigned int primitiveCount = %d, const void *indexData = 0x%0.8p, D3DFORMAT indexDataFormat = %d, const void *vertexStreamZeroData = 0x%0.8p, unsigned int vertexStreamZeroStride = %d", type, minIndex, numVertices, primitiveCount, indexData, indexDataFormat, vertexStreamZeroData, vertexStreamZeroStride);
239
240 return Direct3DDevice9::DrawIndexedPrimitiveUP(type, minIndex, numVertices, primitiveCount, indexData, indexDataFormat, vertexStreamZeroData, vertexStreamZeroStride);
241 }
242
243 long Direct3DDevice9Ex::DrawPrimitive(D3DPRIMITIVETYPE primitiveType, unsigned int startVertex, unsigned int primitiveCount)
244 {
245 TRACE("D3DPRIMITIVETYPE primitiveType = %d, unsigned int startVertex = %d, unsigned int primitiveCount = %d", primitiveType, startVertex, primitiveCount);
246
247 return Direct3DDevice9::DrawPrimitive(primitiveType, startVertex, primitiveCount);
248 }
249
250 long Direct3DDevice9Ex::DrawPrimitiveUP(D3DPRIMITIVETYPE primitiveType, unsigned int primitiveCount, const void *vertexStreamZeroData, unsigned int vertexStreamZeroStride)
251 {
252 TRACE("D3DPRIMITIVETYPE primitiveType = %d, unsigned int primitiveCount = %d, const void *vertexStreamZeroData = 0x%0.8p, unsigned int vertexStreamZeroStride = %d", primitiveType, primitiveCount, vertexStreamZeroData, vertexStreamZeroStride);
253
254 return Direct3DDevice9::DrawPrimitiveUP(primitiveType, primitiveCount, vertexStreamZeroData, vertexStreamZeroStride);
255 }
256
257 long Direct3DDevice9Ex::DrawRectPatch(unsigned int handle, const float *numSegs, const D3DRECTPATCH_INFO *rectPatchInfo)
258 {
259 TRACE("unsigned int handle = %d, const float *numSegs = 0x%0.8p, const D3DRECTPATCH_INFO *rectPatchInfo = 0x%0.8p", handle, numSegs, rectPatchInfo);
260
261 return Direct3DDevice9::DrawRectPatch(handle, numSegs, rectPatchInfo);
262 }
263
264 long Direct3DDevice9Ex::DrawTriPatch(unsigned int handle, const float *numSegs, const D3DTRIPATCH_INFO *triPatchInfo)
265 {
266 TRACE("unsigned int handle = %d, const float *numSegs = 0x%0.8p, const D3DTRIPATCH_INFO *triPatchInfo = 0x%0.8p", handle, numSegs, triPatchInfo);
267
268 return Direct3DDevice9::DrawTriPatch(handle, numSegs, triPatchInfo);
269 }
270
271 long Direct3DDevice9Ex::EndScene()
272 {
273 TRACE("void");
274
275 return Direct3DDevice9::EndScene();
276 }
277
278 long Direct3DDevice9Ex::EndStateBlock(IDirect3DStateBlock9 **stateBlock)
279 {
280 TRACE("IDirect3DStateBlock9 **stateBlock = 0x%0.8p", stateBlock);
281
282 return Direct3DDevice9::EndStateBlock(stateBlock);
283 }
284
285 long Direct3DDevice9Ex::EvictManagedResources()
286 {
287 TRACE("void");
288
289 return Direct3DDevice9::EvictManagedResources();
290 }
291
292 unsigned int Direct3DDevice9Ex::GetAvailableTextureMem()
293 {
294 TRACE("void");
295
296 return Direct3DDevice9::GetAvailableTextureMem();
297 }
298
299 long Direct3DDevice9Ex::GetBackBuffer(unsigned int swapChainIndex, unsigned int backBufferIndex, D3DBACKBUFFER_TYPE type, IDirect3DSurface9 **backBuffer)
300 {
301 TRACE("unsigned int swapChainIndex = %d, unsigned int backBufferIndex = %d, D3DBACKBUFFER_TYPE type = %d, IDirect3DSurface9 **backBuffer = 0x%0.8p", swapChainIndex, backBufferIndex, type, backBuffer);
302
303 return Direct3DDevice9::GetBackBuffer(swapChainIndex, backBufferIndex, type, backBuffer);
304 }
305
306 long Direct3DDevice9Ex::GetClipPlane(unsigned long index, float *plane)
307 {
308 TRACE("unsigned long index = %d, float *plane = 0x%0.8p", index, plane);
309
310 return Direct3DDevice9::GetClipPlane(index, plane);
311 }
312
313 long Direct3DDevice9Ex::GetClipStatus(D3DCLIPSTATUS9 *clipStatus)
314 {
315 TRACE("D3DCLIPSTATUS9 *clipStatus = 0x%0.8p", clipStatus);
316
317 return Direct3DDevice9::GetClipStatus(clipStatus);
318 }
319
320 long Direct3DDevice9Ex::GetCreationParameters(D3DDEVICE_CREATION_PARAMETERS *parameters)
321 {
322 TRACE("D3DDEVICE_CREATION_PARAMETERS *parameters = 0x%0.8p", parameters);
323
324 return Direct3DDevice9::GetCreationParameters(parameters);
325 }
326
327 long Direct3DDevice9Ex::GetCurrentTexturePalette(unsigned int *paletteNumber)
328 {
329 TRACE("unsigned int *paletteNumber = 0x%0.8p", paletteNumber);
330
331 return Direct3DDevice9::GetCurrentTexturePalette(paletteNumber);
332 }
333
334 long Direct3DDevice9Ex::GetDepthStencilSurface(IDirect3DSurface9 **depthStencilSurface)
335 {
336 TRACE("IDirect3DSurface9 **depthStencilSurface = 0x%0.8p", depthStencilSurface);
337
338 return Direct3DDevice9::GetDepthStencilSurface(depthStencilSurface);
339 }
340
341 long Direct3DDevice9Ex::GetDeviceCaps(D3DCAPS9 *caps)
342 {
343 TRACE("D3DCAPS9 *caps = 0x%0.8p", caps);
344
345 return d3d9ex->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, caps);
346 }
347
348 long Direct3DDevice9Ex::GetDirect3D(IDirect3D9 **d3d9)
349 {
350 TRACE("IDirect3D9 **d3d9 = 0x%0.8p", d3d9);
351
352 return Direct3DDevice9::GetDirect3D(d3d9);
353 }
354
355 long Direct3DDevice9Ex::GetDisplayMode(unsigned int index, D3DDISPLAYMODE *mode)
356 {
357 TRACE("unsigned int index = %d, D3DDISPLAYMODE *mode = 0x%0.8p", index, mode);
358
359 return Direct3DDevice9::GetDisplayMode(index, mode);
360 }
361
362 long Direct3DDevice9Ex::GetFrontBufferData(unsigned int index, IDirect3DSurface9 *destSurface)
363 {
364 TRACE("unsigned int index = %d, IDirect3DSurface9 *destSurface = %p", index, destSurface);
365
366 return Direct3DDevice9::GetFrontBufferData(index, destSurface);
367 }
368
369 long Direct3DDevice9Ex::GetFVF(unsigned long *FVF)
370 {
371 TRACE("unsigned long *FVF = 0x%0.8p", FVF);
372
373 return Direct3DDevice9::GetFVF(FVF);
374 }
375
376 void Direct3DDevice9Ex::GetGammaRamp(unsigned int index, D3DGAMMARAMP *ramp)
377 {
378 TRACE("unsigned int index = %d, D3DGAMMARAMP *ramp = 0x%0.8p", index, ramp);
379
380 return Direct3DDevice9::GetGammaRamp(index, ramp);
381 }
382
383 long Direct3DDevice9Ex::GetIndices(IDirect3DIndexBuffer9 **indexData)
384 {
385 TRACE("IDirect3DIndexBuffer9 **indexData = 0x%0.8p", indexData);
386
387 return Direct3DDevice9::GetIndices(indexData);
388 }
389
390 long Direct3DDevice9Ex::GetLight(unsigned long index, D3DLIGHT9 *light)
391 {
392 TRACE("unsigned long index = %d, D3DLIGHT9 *light = 0x%0.8p", index, light);
393
394 return Direct3DDevice9::GetLight(index, light);
395 }
396
397 long Direct3DDevice9Ex::GetLightEnable(unsigned long index, int *enable)
398 {
399 TRACE("unsigned long index = %d, int *enable = 0x%0.8p", index, enable);
400
401 return Direct3DDevice9::GetLightEnable(index, enable);
402 }
403
404 long Direct3DDevice9Ex::GetMaterial(D3DMATERIAL9 *material)
405 {
406 TRACE("D3DMATERIAL9 *material = 0x%0.8p", material);
407
408 return Direct3DDevice9::GetMaterial(material);
409 }
410
411 float Direct3DDevice9Ex::GetNPatchMode()
412 {
413 TRACE("void");
414
415 return Direct3DDevice9::GetNPatchMode();
416 }
417
418 unsigned int Direct3DDevice9Ex::GetNumberOfSwapChains()
419 {
420 TRACE("void");
421
422 return Direct3DDevice9::GetNumberOfSwapChains();
423 }
424
425 long Direct3DDevice9Ex::GetPaletteEntries(unsigned int paletteNumber, PALETTEENTRY *entries)
426 {
427 TRACE("unsigned int paletteNumber = %d, PALETTEENTRY *entries = 0x%0.8p", paletteNumber, entries);
428
429 return Direct3DDevice9::GetPaletteEntries(paletteNumber, entries);
430 }
431
432 long Direct3DDevice9Ex::GetPixelShader(IDirect3DPixelShader9 **shader)
433 {
434 TRACE("IDirect3DPixelShader9 **shader = 0x%0.8p", shader);
435
436 return Direct3DDevice9::GetPixelShader(shader);
437 }
438
439 long Direct3DDevice9Ex::GetPixelShaderConstantB(unsigned int startRegister, int *constantData, unsigned int count)
440 {
441 TRACE("unsigned int startRegister = %d, int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
442
443 return Direct3DDevice9::GetPixelShaderConstantB(startRegister, constantData, count);
444 }
445
446 long Direct3DDevice9Ex::GetPixelShaderConstantF(unsigned int startRegister, float *constantData, unsigned int count)
447 {
448 TRACE("unsigned int startRegister = %d, int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
449
450 return Direct3DDevice9::GetPixelShaderConstantF(startRegister, constantData, count);
451 }
452
453 long Direct3DDevice9Ex::GetPixelShaderConstantI(unsigned int startRegister, int *constantData, unsigned int count)
454 {
455 TRACE("unsigned int startRegister = %d, int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
456
457 return Direct3DDevice9::GetPixelShaderConstantI(startRegister, constantData, count);
458 }
459
460 long Direct3DDevice9Ex::GetRasterStatus(unsigned int swapChain, D3DRASTER_STATUS *rasterStatus)
461 {
462 TRACE("unsigned int swapChain = %d, D3DRASTER_STATUS *rasterStatus = 0x%0.8p", swapChain, rasterStatus);
463
464 return Direct3DDevice9::GetRasterStatus(swapChain, rasterStatus);
465 }
466
467 long Direct3DDevice9Ex::GetRenderState(D3DRENDERSTATETYPE state, unsigned long *value)
468 {
469 TRACE("D3DRENDERSTATETYPE state = %d, unsigned long *value = 0x%0.8p", state, value);
470
471 return Direct3DDevice9::GetRenderState(state, value);
472 }
473
474 long Direct3DDevice9Ex::GetRenderTarget(unsigned long index, IDirect3DSurface9 **renderTarget)
475 {
476 TRACE("unsigned long index = %d, IDirect3DSurface9 **renderTarget = 0x%0.8p", index, renderTarget);
477
478 return Direct3DDevice9::GetRenderTarget(index, renderTarget);
479 }
480
481 long Direct3DDevice9Ex::GetRenderTargetData(IDirect3DSurface9 *renderTarget, IDirect3DSurface9 *destSurface)
482 {
483 TRACE("IDirect3DSurface9 *renderTarget = 0x%0.8p, IDirect3DSurface9 *destSurface = 0x%0.8p", renderTarget, destSurface);
484
485 return Direct3DDevice9::GetRenderTargetData(renderTarget, destSurface);
486 }
487
488 long Direct3DDevice9Ex::GetSamplerState(unsigned long sampler, D3DSAMPLERSTATETYPE state, unsigned long *value)
489 {
490 TRACE("unsigned long sampler = %d, D3DSAMPLERSTATETYPE type = %d, unsigned long *value = 0x%0.8p", sampler, state, value);
491
492 return Direct3DDevice9::GetSamplerState(sampler, state, value);
493 }
494
495 long Direct3DDevice9Ex::GetScissorRect(RECT *rect)
496 {
497 TRACE("RECT *rect = 0x%0.8p", rect);
498
499 return Direct3DDevice9::GetScissorRect(rect);
500 }
501
502 int Direct3DDevice9Ex::GetSoftwareVertexProcessing()
503 {
504 TRACE("void");
505
506 return Direct3DDevice9::GetSoftwareVertexProcessing();
507 }
508
509 long Direct3DDevice9Ex::GetStreamSource(unsigned int streamNumber, IDirect3DVertexBuffer9 **streamData, unsigned int *offset, unsigned int *stride)
510 {
511 TRACE("unsigned int streamNumber = %d, IDirect3DVertexBuffer9 **streamData = 0x%0.8p, unsigned int *offset = 0x%0.8p, unsigned int *stride = 0x%0.8p", streamNumber, streamData, offset, stride);
512
513 return Direct3DDevice9::GetStreamSource(streamNumber, streamData, offset, stride);
514 }
515
516 long Direct3DDevice9Ex::GetStreamSourceFreq(unsigned int streamNumber, unsigned int *divider)
517 {
518 TRACE("unsigned int streamNumber = %d, unsigned int *divider = 0x%0.8p", streamNumber, divider);
519
520 return Direct3DDevice9::GetStreamSourceFreq(streamNumber, divider);
521 }
522
523 long Direct3DDevice9Ex::GetSwapChain(unsigned int index, IDirect3DSwapChain9 **swapChain)
524 {
525 TRACE("unsigned int index = %d, IDirect3DSwapChain9 **swapChain = 0x%0.8p", index, swapChain);
526
527 return Direct3DDevice9::GetSwapChain(index, swapChain);
528 }
529
530 long Direct3DDevice9Ex::GetTexture(unsigned long sampler, IDirect3DBaseTexture9 **texture)
531 {
532 TRACE("unsigned long sampler = %d, IDirect3DBaseTexture9 **texture = 0x%0.8p", sampler, texture);
533
534 return Direct3DDevice9::GetTexture(sampler, texture);
535 }
536
537 long Direct3DDevice9Ex::GetTextureStageState(unsigned long stage, D3DTEXTURESTAGESTATETYPE type, unsigned long *value)
538 {
539 TRACE("unsigned long stage = %d, D3DTEXTURESTAGESTATETYPE type = %d, unsigned long *value = 0x%0.8p", stage, type, value);
540
541 return Direct3DDevice9::GetTextureStageState(stage, type, value);
542 }
543
544 long Direct3DDevice9Ex::GetTransform(D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
545 {
546 TRACE("D3DTRANSFORMSTATETYPE state = %d, D3DMATRIX *matrix = 0x%0.8p", state, matrix);
547
548 return Direct3DDevice9::GetTransform(state, matrix);
549 }
550
551 long Direct3DDevice9Ex::GetVertexDeclaration(IDirect3DVertexDeclaration9 **declaration)
552 {
553 TRACE("IDirect3DVertexDeclaration9 **declaration = 0x%0.8p", declaration);
554
555 return Direct3DDevice9::GetVertexDeclaration(declaration);
556 }
557
558 long Direct3DDevice9Ex::GetVertexShader(IDirect3DVertexShader9 **shader)
559 {
560 TRACE("IDirect3DVertexShader9 **shader = 0x%0.8p", shader);
561
562 return Direct3DDevice9::GetVertexShader(shader);
563 }
564
565 long Direct3DDevice9Ex::GetVertexShaderConstantB(unsigned int startRegister, int *constantData, unsigned int count)
566 {
567 TRACE("unsigned int startRegister = %d, int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
568
569 return Direct3DDevice9::GetVertexShaderConstantB(startRegister, constantData, count);
570 }
571
572 long Direct3DDevice9Ex::GetVertexShaderConstantF(unsigned int startRegister, float *constantData, unsigned int count)
573 {
574 TRACE("unsigned int startRegister = %d, int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
575
576 return Direct3DDevice9::GetVertexShaderConstantF(startRegister, constantData, count);
577 }
578
579 long Direct3DDevice9Ex::GetVertexShaderConstantI(unsigned int startRegister, int *constantData, unsigned int count)
580 {
581 TRACE("unsigned int startRegister = %d, int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
582
583 return Direct3DDevice9::GetVertexShaderConstantI(startRegister, constantData, count);
584 }
585
586 long Direct3DDevice9Ex::GetViewport(D3DVIEWPORT9 *viewport)
587 {
588 TRACE("D3DVIEWPORT9 *viewport = 0x%0.8p", viewport);
589
590 return Direct3DDevice9::GetViewport(viewport);
591 }
592
593 long Direct3DDevice9Ex::LightEnable(unsigned long index, int enable)
594 {
595 TRACE("unsigned long index = %d, int enable = %d", index, enable);
596
597 return Direct3DDevice9::LightEnable(index, enable);
598 }
599
600 long Direct3DDevice9Ex::MultiplyTransform(D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix)
601 {
602 TRACE("D3DTRANSFORMSTATETYPE state = %d, const D3DMATRIX *matrix = 0x%0.8p", state, matrix);
603
604 return Direct3DDevice9::MultiplyTransform(state, matrix);
605 }
606
607 long Direct3DDevice9Ex::Present(const RECT *sourceRect, const RECT *destRect, HWND destWindowOverride, const RGNDATA *dirtyRegion)
608 {
609 TRACE("const RECT *sourceRect = 0x%0.8p, const RECT *destRect = 0x%0.8p, HWND destWindowOverride = %d, const RGNDATA *dirtyRegion = 0x%0.8p", sourceRect, destRect, destWindowOverride, dirtyRegion);
610
611 return Direct3DDevice9::Present(sourceRect, destRect, destWindowOverride, dirtyRegion);
612 }
613
614 long Direct3DDevice9Ex::ProcessVertices(unsigned int srcStartIndex, unsigned int destIndex, unsigned int vertexCount, IDirect3DVertexBuffer9 *destBuffer, IDirect3DVertexDeclaration9 *vertexDeclaration, unsigned long flags)
615 {
616 TRACE("unsigned int srcStartIndex = %d, unsigned int destIndex = %d, unsigned int vertexCount = %d, IDirect3DVertexBuffer9 *destBuffer = 0x%0.8p, IDirect3DVertexDeclaration9 *vertexDeclaration = 0x%0.8p, unsigned long flags = %d", srcStartIndex, destIndex, vertexCount, destBuffer, vertexDeclaration, flags);
617
618 return Direct3DDevice9::ProcessVertices(srcStartIndex, destIndex, vertexCount, destBuffer, vertexDeclaration, flags);
619 }
620
621 long Direct3DDevice9Ex::Reset(D3DPRESENT_PARAMETERS *presentParameters)
622 {
623 TRACE("D3DPRESENT_PARAMETERS *presentParameters = 0x%0.8p", presentParameters);
624
625 return Direct3DDevice9::Reset(presentParameters);
626 }
627
628 long Direct3DDevice9Ex::SetClipPlane(unsigned long index, const float *plane)
629 {
630 TRACE("unsigned long index = %d, const float *plane = 0x%0.8p", index, plane);
631
632 return Direct3DDevice9::SetClipPlane(index, plane);
633 }
634
635 long Direct3DDevice9Ex::SetClipStatus(const D3DCLIPSTATUS9 *clipStatus)
636 {
637 TRACE("const D3DCLIPSTATUS9 *clipStatus = 0x%0.8p", clipStatus);
638
639 return Direct3DDevice9::SetClipStatus(clipStatus);
640 }
641
642 long Direct3DDevice9Ex::SetCurrentTexturePalette(unsigned int paletteNumber)
643 {
644 TRACE("unsigned int paletteNumber = %d", paletteNumber);
645
646 return Direct3DDevice9::SetCurrentTexturePalette(paletteNumber);
647 }
648
649 void Direct3DDevice9Ex::SetCursorPosition(int x, int y, unsigned long flags)
650 {
651 TRACE("int x = %d, int y = %d, unsigned long flags = 0x%0.8X", x, y, flags);
652
653 return Direct3DDevice9::SetCursorPosition(x, y, flags);
654 }
655
656 long Direct3DDevice9Ex::SetCursorProperties(unsigned int x, unsigned int y, IDirect3DSurface9 *cursorBitmap)
657 {
658 TRACE("unsigned int x = %d, unsigned int y = %d, IDirect3DSurface9 *cursorBitmap = 0x%0.8p", x, y, cursorBitmap);
659
660 return Direct3DDevice9::SetCursorProperties(x, y, cursorBitmap);
661 }
662
663 long Direct3DDevice9Ex::SetDepthStencilSurface(IDirect3DSurface9 *iDepthStencil)
664 {
665 TRACE("IDirect3DSurface9 *newDepthStencil = 0x%0.8p", iDepthStencil);
666
667 return Direct3DDevice9::SetDepthStencilSurface(iDepthStencil);
668 }
669
670 long Direct3DDevice9Ex::SetDialogBoxMode(int enableDialogs)
671 {
672 TRACE("int enableDialogs = %d", enableDialogs);
673
674 return Direct3DDevice9::SetDialogBoxMode(enableDialogs);
675 }
676
677 long Direct3DDevice9Ex::SetFVF(unsigned long FVF)
678 {
679 TRACE("unsigned long FVF = 0x%0.8X", FVF);
680
681 return Direct3DDevice9::SetFVF(FVF);
682 }
683
684 void Direct3DDevice9Ex::SetGammaRamp(unsigned int index, unsigned long flags, const D3DGAMMARAMP *ramp)
685 {
686 TRACE("unsigned int index = %d, unsigned long flags = 0x%0.8X, const D3DGAMMARAMP *ramp = 0x%0.8p", index, flags, ramp);
687
688 return Direct3DDevice9::SetGammaRamp(index, flags, ramp);
689 }
690
691 long Direct3DDevice9Ex::SetIndices(IDirect3DIndexBuffer9* iIndexBuffer)
692 {
693 TRACE("IDirect3DIndexBuffer9* indexData = 0x%0.8p", iIndexBuffer);
694
695 return Direct3DDevice9::SetIndices(iIndexBuffer);
696 }
697
698 long Direct3DDevice9Ex::SetLight(unsigned long index, const D3DLIGHT9 *light)
699 {
700 TRACE("unsigned long index = %d, const D3DLIGHT9 *light = 0x%0.8p", index, light);
701
702 return Direct3DDevice9::SetLight(index, light);
703 }
704
705 long Direct3DDevice9Ex::SetMaterial(const D3DMATERIAL9 *material)
706 {
707 TRACE("const D3DMATERIAL9 *material = 0x%0.8p", material);
708
709 return Direct3DDevice9::SetMaterial(material);
710 }
711
712 long Direct3DDevice9Ex::SetNPatchMode(float segments)
713 {
714 TRACE("float segments = %f", segments);
715
716 return Direct3DDevice9::SetNPatchMode(segments);
717 }
718
719 long Direct3DDevice9Ex::SetPaletteEntries(unsigned int paletteNumber, const PALETTEENTRY *entries)
720 {
721 TRACE("unsigned int paletteNumber = %d, const PALETTEENTRY *entries = 0x%0.8p", paletteNumber, entries);
722
723 return Direct3DDevice9::SetPaletteEntries(paletteNumber, entries);
724 }
725
726 long Direct3DDevice9Ex::SetPixelShader(IDirect3DPixelShader9 *iPixelShader)
727 {
728 TRACE("IDirect3DPixelShader9 *shader = 0x%0.8p", iPixelShader);
729
730 return Direct3DDevice9::SetPixelShader(iPixelShader);
731 }
732
733 long Direct3DDevice9Ex::SetPixelShaderConstantB(unsigned int startRegister, const int *constantData, unsigned int count)
734 {
735 TRACE("unsigned int startRegister = %d, const int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
736
737 return Direct3DDevice9::SetPixelShaderConstantB(startRegister, constantData, count);
738 }
739
740 long Direct3DDevice9Ex::SetPixelShaderConstantF(unsigned int startRegister, const float *constantData, unsigned int count)
741 {
742 TRACE("unsigned int startRegister = %d, const int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
743
744 return Direct3DDevice9::SetPixelShaderConstantF(startRegister, constantData, count);
745 }
746
747 long Direct3DDevice9Ex::SetPixelShaderConstantI(unsigned int startRegister, const int *constantData, unsigned int count)
748 {
749 TRACE("unsigned int startRegister = %d, const int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
750
751 return Direct3DDevice9::SetPixelShaderConstantI(startRegister, constantData, count);
752 }
753
754 long Direct3DDevice9Ex::SetRenderState(D3DRENDERSTATETYPE state, unsigned long value)
755 {
756 TRACE("D3DRENDERSTATETYPE state = %d, unsigned long value = %d", state, value);
757
758 return Direct3DDevice9::SetRenderState(state, value);
759 }
760
761 long Direct3DDevice9Ex::SetRenderTarget(unsigned long index, IDirect3DSurface9 *iRenderTarget)
762 {
763 TRACE("unsigned long index = %d, IDirect3DSurface9 *newRenderTarget = 0x%0.8p", index, iRenderTarget);
764
765 return Direct3DDevice9::SetRenderTarget(index, iRenderTarget);
766 }
767
768 long Direct3DDevice9Ex::SetSamplerState(unsigned long sampler, D3DSAMPLERSTATETYPE state, unsigned long value)
769 {
770 TRACE("unsigned long sampler = %d, D3DSAMPLERSTATETYPE state = %d, unsigned long value = %d", sampler, state, value);
771
772 return Direct3DDevice9::SetSamplerState(sampler, state, value);
773 }
774
775 long Direct3DDevice9Ex::SetScissorRect(const RECT *rect)
776 {
777 TRACE("const RECT *rect = 0x%0.8p", rect);
778
779 return Direct3DDevice9::SetScissorRect(rect);
780 }
781
782 long Direct3DDevice9Ex::SetSoftwareVertexProcessing(int software)
783 {
784 TRACE("int software = %d", software);
785
786 return Direct3DDevice9::SetSoftwareVertexProcessing(software);
787 }
788
789 long Direct3DDevice9Ex::SetStreamSource(unsigned int stream, IDirect3DVertexBuffer9 *iVertexBuffer, unsigned int offset, unsigned int stride)
790 {
791 TRACE("unsigned int stream = %d, IDirect3DVertexBuffer9 *data = 0x%0.8p, unsigned int offset = %d, unsigned int stride = %d", stream, iVertexBuffer, offset, stride);
792
793 return Direct3DDevice9::SetStreamSource(stream, iVertexBuffer, offset, stride);
794 }
795
796 long Direct3DDevice9Ex::SetStreamSourceFreq(unsigned int streamNumber, unsigned int divider)
797 {
798 TRACE("unsigned int streamNumber = %d, unsigned int divider = %d", streamNumber, divider);
799
800 return Direct3DDevice9::SetStreamSourceFreq(streamNumber, divider);
801 }
Nicolas Capens0bac2852016-05-07 06:09:58 -0400802
Nicolas Capensee16f0d2015-07-16 17:40:10 -0400803 long Direct3DDevice9Ex::SetTexture(unsigned long sampler, IDirect3DBaseTexture9 *iBaseTexture)
804 {
805 TRACE("unsigned long sampler = %d, IDirect3DBaseTexture9 *texture = 0x%0.8p", sampler, iBaseTexture);
806
807 return Direct3DDevice9::SetTexture(sampler, iBaseTexture);
808 }
809
810 long Direct3DDevice9Ex::SetTextureStageState(unsigned long stage, D3DTEXTURESTAGESTATETYPE type, unsigned long value)
811 {
812 TRACE("unsigned long stage = %d, D3DTEXTURESTAGESTATETYPE type = %d, unsigned long value = %d", stage, type, value);
813
814 return Direct3DDevice9::SetTextureStageState(stage, type, value);
815 }
816
817 long Direct3DDevice9Ex::SetTransform(D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix)
818 {
819 TRACE("D3DTRANSFORMSTATETYPE state = %d, const D3DMATRIX *matrix = 0x%0.8p", state, matrix);
820
821 return Direct3DDevice9::SetTransform(state, matrix);
822 }
823
824 long Direct3DDevice9Ex::SetVertexDeclaration(IDirect3DVertexDeclaration9 *iVertexDeclaration)
825 {
826 TRACE("IDirect3DVertexDeclaration9 *declaration = 0x%0.8p", iVertexDeclaration);
827
828 return Direct3DDevice9::SetVertexDeclaration(iVertexDeclaration);
829 }
830
831 long Direct3DDevice9Ex::SetVertexShader(IDirect3DVertexShader9 *iVertexShader)
832 {
833 TRACE("IDirect3DVertexShader9 *shader = 0x%0.8p", iVertexShader);
834
835 return Direct3DDevice9::SetVertexShader(iVertexShader);
836 }
837
838 long Direct3DDevice9Ex::SetVertexShaderConstantB(unsigned int startRegister, const int *constantData, unsigned int count)
839 {
840 TRACE("unsigned int startRegister = %d, const int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
841
842 return Direct3DDevice9::SetVertexShaderConstantB(startRegister, constantData, count);
843 }
844
845 long Direct3DDevice9Ex::SetVertexShaderConstantF(unsigned int startRegister, const float *constantData, unsigned int count)
846 {
847 TRACE("unsigned int startRegister = %d, const int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
848
849 return Direct3DDevice9::SetVertexShaderConstantF(startRegister, constantData, count);
850 }
851
852 long Direct3DDevice9Ex::SetVertexShaderConstantI(unsigned int startRegister, const int *constantData, unsigned int count)
853 {
854 TRACE("unsigned int startRegister = %d, const int *constantData = 0x%0.8p, unsigned int count = %d", startRegister, constantData, count);
855
856 return Direct3DDevice9::SetVertexShaderConstantI(startRegister, constantData, count);
857 }
858
859 long Direct3DDevice9Ex::SetViewport(const D3DVIEWPORT9 *viewport)
860 {
861 TRACE("const D3DVIEWPORT9 *viewport = 0x%0.8p", viewport);
862
863 return Direct3DDevice9::SetViewport(viewport);
864 }
865
866 int Direct3DDevice9Ex::ShowCursor(int show)
867 {
868 TRACE("int show = %d", show);
869
870 return Direct3DDevice9::ShowCursor(show);
871 }
872
873 long Direct3DDevice9Ex::StretchRect(IDirect3DSurface9 *sourceSurface, const RECT *sourceRect, IDirect3DSurface9 *destSurface, const RECT *destRect, D3DTEXTUREFILTERTYPE filter)
874 {
875 TRACE("IDirect3DSurface9 *sourceSurface = 0x%0.8p, const RECT *sourceRect = 0x%0.8p, IDirect3DSurface9 *destSurface = 0x%0.8p, const RECT *destRect = 0x%0.8p, D3DTEXTUREFILTERTYPE filter = %d", sourceSurface, sourceRect, destSurface, destRect, filter);
876
877 return Direct3DDevice9::StretchRect(sourceSurface, sourceRect, destSurface, destRect, filter);
878 }
879
880 long Direct3DDevice9Ex::TestCooperativeLevel()
881 {
882 TRACE("void");
883
884 return Direct3DDevice9::TestCooperativeLevel();
885 }
886
887 long Direct3DDevice9Ex::UpdateSurface(IDirect3DSurface9 *sourceSurface, const RECT *sourceRect, IDirect3DSurface9 *destinationSurface, const POINT *destPoint)
888 {
889 TRACE("IDirect3DSurface9 *sourceSurface = 0x%0.8p, const RECT *sourceRect = 0x%0.8p, IDirect3DSurface9 *destinationSurface = 0x%0.8p, const POINT *destPoint = 0x%0.8p", sourceSurface, sourceRect, destinationSurface, destPoint);
890
891 return Direct3DDevice9::UpdateSurface(sourceSurface, sourceRect, destinationSurface, destPoint);
892 }
893
894 long Direct3DDevice9Ex::UpdateTexture(IDirect3DBaseTexture9 *sourceTexture, IDirect3DBaseTexture9 *destinationTexture)
895 {
896 TRACE("IDirect3DBaseTexture9 *sourceTexture = 0x%0.8p, IDirect3DBaseTexture9 *destinationTexture = 0x%0.8p", sourceTexture, destinationTexture);
897
898 return Direct3DDevice9::UpdateTexture(sourceTexture, destinationTexture);
899 }
900
901 long Direct3DDevice9Ex::ValidateDevice(unsigned long *numPasses)
902 {
903 TRACE("unsigned long *numPasses = 0x%0.8p", numPasses);
904
905 return Direct3DDevice9::ValidateDevice(numPasses);
906 }
907
908 HRESULT Direct3DDevice9Ex::SetConvolutionMonoKernel(UINT,UINT,float *,float *)
909 {
910 CriticalSection cs(this);
911
912 UNIMPLEMENTED();
913
914 return D3D_OK;
915 }
916
917 HRESULT Direct3DDevice9Ex::ComposeRects(IDirect3DSurface9 *,IDirect3DSurface9 *,IDirect3DVertexBuffer9 *,UINT,IDirect3DVertexBuffer9 *,D3DCOMPOSERECTSOP,int,int)
918 {
919 CriticalSection cs(this);
920
921 UNIMPLEMENTED();
922
923 return D3D_OK;
924 }
925
926 HRESULT Direct3DDevice9Ex::PresentEx(const RECT *,const RECT *,HWND,const RGNDATA *,DWORD)
927 {
928 CriticalSection cs(this);
929
930 UNIMPLEMENTED();
931
932 return D3D_OK;
933 }
934
935 HRESULT Direct3DDevice9Ex::GetGPUThreadPriority(INT *)
936 {
937 CriticalSection cs(this);
938
939 UNIMPLEMENTED();
940
941 return D3D_OK;
942 }
943
944 HRESULT Direct3DDevice9Ex::SetGPUThreadPriority(INT)
945 {
946 CriticalSection cs(this);
947
948 UNIMPLEMENTED();
949
950 return D3D_OK;
951 }
952
953 HRESULT Direct3DDevice9Ex::WaitForVBlank(UINT)
954 {
955 CriticalSection cs(this);
956
957 UNIMPLEMENTED();
958
959 return D3D_OK;
960 }
961
962 HRESULT Direct3DDevice9Ex::CheckResourceResidency(IDirect3DResource9 **,UINT32)
963 {
964 CriticalSection cs(this);
965
966 UNIMPLEMENTED();
967
968 return D3D_OK;
969 }
970
971 HRESULT Direct3DDevice9Ex::SetMaximumFrameLatency(UINT)
972 {
973 CriticalSection cs(this);
974
975 UNIMPLEMENTED();
976
977 return D3D_OK;
978 }
979
980 HRESULT Direct3DDevice9Ex::GetMaximumFrameLatency(UINT *)
981 {
982 CriticalSection cs(this);
983
984 UNIMPLEMENTED();
985
986 return D3D_OK;
987 }
988
989 HRESULT Direct3DDevice9Ex::CheckDeviceState(HWND destinationWindow)
990 {
991 CriticalSection cs(this);
992
993 // UNIMPLEMENTED();
994
995 return D3D_OK;
996 }
997
998 HRESULT Direct3DDevice9Ex::CreateRenderTargetEx(UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9 **,HANDLE *,DWORD)
999 {
1000 CriticalSection cs(this);
1001
1002 UNIMPLEMENTED();
1003
1004 return D3D_OK;
1005 }
1006
1007 HRESULT Direct3DDevice9Ex::CreateOffscreenPlainSurfaceEx(UINT,UINT,D3DFORMAT,D3DPOOL,IDirect3DSurface9 **,HANDLE *,DWORD)
1008 {
1009 CriticalSection cs(this);
1010
1011 UNIMPLEMENTED();
1012
1013 return D3D_OK;
1014 }
1015
1016 HRESULT Direct3DDevice9Ex::CreateDepthStencilSurfaceEx(UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9 **,HANDLE *,DWORD)
1017 {
1018 CriticalSection cs(this);
1019
1020 UNIMPLEMENTED();
1021
1022 return D3D_OK;
1023 }
1024
1025 HRESULT Direct3DDevice9Ex::ResetEx(D3DPRESENT_PARAMETERS *,D3DDISPLAYMODEEX *)
1026 {
1027 CriticalSection cs(this);
1028
1029 UNIMPLEMENTED();
1030
1031 return D3D_OK;
1032 }
1033
1034 HRESULT Direct3DDevice9Ex::GetDisplayModeEx(UINT,D3DDISPLAYMODEEX *,D3DDISPLAYROTATION *)
1035 {
1036 CriticalSection cs(this);
1037
1038 UNIMPLEMENTED();
1039
1040 return D3D_OK;
1041 }
1042}