1 // Copyright 2016 The SwiftShader Authors. All Rights Reserved. 2 // 3 // 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 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // 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. 14 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 41 namespace D3D9 42 { FtoDW(float f)43 inline unsigned long FtoDW(float f) 44 { 45 return (unsigned long&)f; 46 } 47 DWtoF(unsigned long dw)48 inline float DWtoF(unsigned long dw) 49 { 50 return (float&)dw; 51 } 52 Direct3DDevice9Ex(const HINSTANCE instance,Direct3D9Ex * d3d9ex,unsigned int adapter,D3DDEVTYPE deviceType,HWND focusWindow,unsigned long behaviourFlags,D3DPRESENT_PARAMETERS * presentParameters)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 ~Direct3DDevice9Ex()57 Direct3DDevice9Ex::~Direct3DDevice9Ex() 58 { 59 } 60 QueryInterface(const IID & iid,void ** object)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 AddRef()82 unsigned long Direct3DDevice9Ex::AddRef() 83 { 84 TRACE("void"); 85 86 return Direct3DDevice9::AddRef(); 87 } 88 Release()89 unsigned long Direct3DDevice9Ex::Release() 90 { 91 TRACE("void"); 92 93 return Direct3DDevice9::Release(); 94 } 95 BeginScene()96 long Direct3DDevice9Ex::BeginScene() 97 { 98 TRACE("void"); 99 100 return Direct3DDevice9::BeginScene(); 101 } 102 BeginStateBlock()103 long Direct3DDevice9Ex::BeginStateBlock() 104 { 105 TRACE("void"); 106 107 return Direct3DDevice9::BeginStateBlock(); 108 } 109 Clear(unsigned long count,const D3DRECT * rects,unsigned long flags,unsigned long color,float z,unsigned long stencil)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 ColorFill(IDirect3DSurface9 * surface,const RECT * rect,D3DCOLOR color)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 CreateAdditionalSwapChain(D3DPRESENT_PARAMETERS * presentParameters,IDirect3DSwapChain9 ** swapChain)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 CreateCubeTexture(unsigned int edgeLength,unsigned int levels,unsigned long usage,D3DFORMAT format,D3DPOOL pool,IDirect3DCubeTexture9 ** cubeTexture,void ** sharedHandle)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 CreateDepthStencilSurface(unsigned int width,unsigned int height,D3DFORMAT format,D3DMULTISAMPLE_TYPE multiSample,unsigned long multiSampleQuality,int discard,IDirect3DSurface9 ** surface,void ** sharedHandle)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 CreateIndexBuffer(unsigned int length,unsigned long usage,D3DFORMAT format,D3DPOOL pool,IDirect3DIndexBuffer9 ** indexBuffer,void ** sharedHandle)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 CreateOffscreenPlainSurface(unsigned int width,unsigned int height,D3DFORMAT format,D3DPOOL pool,IDirect3DSurface9 ** surface,void ** sharedHandle)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 CreatePixelShader(const unsigned long * function,IDirect3DPixelShader9 ** shader)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 CreateQuery(D3DQUERYTYPE type,IDirect3DQuery9 ** query)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 CreateRenderTarget(unsigned int width,unsigned int height,D3DFORMAT format,D3DMULTISAMPLE_TYPE multiSample,unsigned long multiSampleQuality,int lockable,IDirect3DSurface9 ** surface,void ** sharedHandle)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 CreateStateBlock(D3DSTATEBLOCKTYPE type,IDirect3DStateBlock9 ** stateBlock)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 CreateTexture(unsigned int width,unsigned int height,unsigned int levels,unsigned long usage,D3DFORMAT format,D3DPOOL pool,IDirect3DTexture9 ** texture,void ** sharedHandle)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 CreateVertexBuffer(unsigned int length,unsigned long usage,unsigned long FVF,D3DPOOL pool,IDirect3DVertexBuffer9 ** vertexBuffer,void ** sharedHandle)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 CreateVertexDeclaration(const D3DVERTEXELEMENT9 * vertexElements,IDirect3DVertexDeclaration9 ** declaration)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 CreateVertexShader(const unsigned long * function,IDirect3DVertexShader9 ** shader)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 CreateVolumeTexture(unsigned int width,unsigned int height,unsigned int depth,unsigned int levels,unsigned long usage,D3DFORMAT format,D3DPOOL pool,IDirect3DVolumeTexture9 ** volumeTexture,void ** sharedHandle)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 DeletePatch(unsigned int handle)222 long Direct3DDevice9Ex::DeletePatch(unsigned int handle) 223 { 224 TRACE("unsigned int handle = %d", handle); 225 226 return Direct3DDevice9::DeletePatch(handle); 227 } 228 DrawIndexedPrimitive(D3DPRIMITIVETYPE type,int baseVertexIndex,unsigned int minIndex,unsigned int numVertices,unsigned int startIndex,unsigned int primitiveCount)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 DrawIndexedPrimitiveUP(D3DPRIMITIVETYPE type,unsigned int minIndex,unsigned int numVertices,unsigned int primitiveCount,const void * indexData,D3DFORMAT indexDataFormat,const void * vertexStreamZeroData,unsigned int vertexStreamZeroStride)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 DrawPrimitive(D3DPRIMITIVETYPE primitiveType,unsigned int startVertex,unsigned int primitiveCount)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 DrawPrimitiveUP(D3DPRIMITIVETYPE primitiveType,unsigned int primitiveCount,const void * vertexStreamZeroData,unsigned int vertexStreamZeroStride)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 DrawRectPatch(unsigned int handle,const float * numSegs,const D3DRECTPATCH_INFO * rectPatchInfo)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 DrawTriPatch(unsigned int handle,const float * numSegs,const D3DTRIPATCH_INFO * triPatchInfo)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 EndScene()271 long Direct3DDevice9Ex::EndScene() 272 { 273 TRACE("void"); 274 275 return Direct3DDevice9::EndScene(); 276 } 277 EndStateBlock(IDirect3DStateBlock9 ** stateBlock)278 long Direct3DDevice9Ex::EndStateBlock(IDirect3DStateBlock9 **stateBlock) 279 { 280 TRACE("IDirect3DStateBlock9 **stateBlock = 0x%0.8p", stateBlock); 281 282 return Direct3DDevice9::EndStateBlock(stateBlock); 283 } 284 EvictManagedResources()285 long Direct3DDevice9Ex::EvictManagedResources() 286 { 287 TRACE("void"); 288 289 return Direct3DDevice9::EvictManagedResources(); 290 } 291 GetAvailableTextureMem()292 unsigned int Direct3DDevice9Ex::GetAvailableTextureMem() 293 { 294 TRACE("void"); 295 296 return Direct3DDevice9::GetAvailableTextureMem(); 297 } 298 GetBackBuffer(unsigned int swapChainIndex,unsigned int backBufferIndex,D3DBACKBUFFER_TYPE type,IDirect3DSurface9 ** backBuffer)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 GetClipPlane(unsigned long index,float * plane)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 GetClipStatus(D3DCLIPSTATUS9 * clipStatus)313 long Direct3DDevice9Ex::GetClipStatus(D3DCLIPSTATUS9 *clipStatus) 314 { 315 TRACE("D3DCLIPSTATUS9 *clipStatus = 0x%0.8p", clipStatus); 316 317 return Direct3DDevice9::GetClipStatus(clipStatus); 318 } 319 GetCreationParameters(D3DDEVICE_CREATION_PARAMETERS * parameters)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 GetCurrentTexturePalette(unsigned int * paletteNumber)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 GetDepthStencilSurface(IDirect3DSurface9 ** depthStencilSurface)334 long Direct3DDevice9Ex::GetDepthStencilSurface(IDirect3DSurface9 **depthStencilSurface) 335 { 336 TRACE("IDirect3DSurface9 **depthStencilSurface = 0x%0.8p", depthStencilSurface); 337 338 return Direct3DDevice9::GetDepthStencilSurface(depthStencilSurface); 339 } 340 GetDeviceCaps(D3DCAPS9 * caps)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 GetDirect3D(IDirect3D9 ** d3d9)348 long Direct3DDevice9Ex::GetDirect3D(IDirect3D9 **d3d9) 349 { 350 TRACE("IDirect3D9 **d3d9 = 0x%0.8p", d3d9); 351 352 return Direct3DDevice9::GetDirect3D(d3d9); 353 } 354 GetDisplayMode(unsigned int index,D3DDISPLAYMODE * mode)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 GetFrontBufferData(unsigned int index,IDirect3DSurface9 * destSurface)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 GetFVF(unsigned long * FVF)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 GetGammaRamp(unsigned int index,D3DGAMMARAMP * ramp)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 GetIndices(IDirect3DIndexBuffer9 ** indexData)383 long Direct3DDevice9Ex::GetIndices(IDirect3DIndexBuffer9 **indexData) 384 { 385 TRACE("IDirect3DIndexBuffer9 **indexData = 0x%0.8p", indexData); 386 387 return Direct3DDevice9::GetIndices(indexData); 388 } 389 GetLight(unsigned long index,D3DLIGHT9 * light)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 GetLightEnable(unsigned long index,int * enable)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 GetMaterial(D3DMATERIAL9 * material)404 long Direct3DDevice9Ex::GetMaterial(D3DMATERIAL9 *material) 405 { 406 TRACE("D3DMATERIAL9 *material = 0x%0.8p", material); 407 408 return Direct3DDevice9::GetMaterial(material); 409 } 410 GetNPatchMode()411 float Direct3DDevice9Ex::GetNPatchMode() 412 { 413 TRACE("void"); 414 415 return Direct3DDevice9::GetNPatchMode(); 416 } 417 GetNumberOfSwapChains()418 unsigned int Direct3DDevice9Ex::GetNumberOfSwapChains() 419 { 420 TRACE("void"); 421 422 return Direct3DDevice9::GetNumberOfSwapChains(); 423 } 424 GetPaletteEntries(unsigned int paletteNumber,PALETTEENTRY * entries)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 GetPixelShader(IDirect3DPixelShader9 ** shader)432 long Direct3DDevice9Ex::GetPixelShader(IDirect3DPixelShader9 **shader) 433 { 434 TRACE("IDirect3DPixelShader9 **shader = 0x%0.8p", shader); 435 436 return Direct3DDevice9::GetPixelShader(shader); 437 } 438 GetPixelShaderConstantB(unsigned int startRegister,int * constantData,unsigned int count)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 GetPixelShaderConstantF(unsigned int startRegister,float * constantData,unsigned int count)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 GetPixelShaderConstantI(unsigned int startRegister,int * constantData,unsigned int count)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 GetRasterStatus(unsigned int swapChain,D3DRASTER_STATUS * rasterStatus)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 GetRenderState(D3DRENDERSTATETYPE state,unsigned long * value)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 GetRenderTarget(unsigned long index,IDirect3DSurface9 ** renderTarget)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 GetRenderTargetData(IDirect3DSurface9 * renderTarget,IDirect3DSurface9 * destSurface)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 GetSamplerState(unsigned long sampler,D3DSAMPLERSTATETYPE state,unsigned long * value)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 GetScissorRect(RECT * rect)495 long Direct3DDevice9Ex::GetScissorRect(RECT *rect) 496 { 497 TRACE("RECT *rect = 0x%0.8p", rect); 498 499 return Direct3DDevice9::GetScissorRect(rect); 500 } 501 GetSoftwareVertexProcessing()502 int Direct3DDevice9Ex::GetSoftwareVertexProcessing() 503 { 504 TRACE("void"); 505 506 return Direct3DDevice9::GetSoftwareVertexProcessing(); 507 } 508 GetStreamSource(unsigned int streamNumber,IDirect3DVertexBuffer9 ** streamData,unsigned int * offset,unsigned int * stride)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 GetStreamSourceFreq(unsigned int streamNumber,unsigned int * divider)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 GetSwapChain(unsigned int index,IDirect3DSwapChain9 ** swapChain)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 GetTexture(unsigned long sampler,IDirect3DBaseTexture9 ** texture)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 GetTextureStageState(unsigned long stage,D3DTEXTURESTAGESTATETYPE type,unsigned long * value)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 GetTransform(D3DTRANSFORMSTATETYPE state,D3DMATRIX * matrix)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 GetVertexDeclaration(IDirect3DVertexDeclaration9 ** declaration)551 long Direct3DDevice9Ex::GetVertexDeclaration(IDirect3DVertexDeclaration9 **declaration) 552 { 553 TRACE("IDirect3DVertexDeclaration9 **declaration = 0x%0.8p", declaration); 554 555 return Direct3DDevice9::GetVertexDeclaration(declaration); 556 } 557 GetVertexShader(IDirect3DVertexShader9 ** shader)558 long Direct3DDevice9Ex::GetVertexShader(IDirect3DVertexShader9 **shader) 559 { 560 TRACE("IDirect3DVertexShader9 **shader = 0x%0.8p", shader); 561 562 return Direct3DDevice9::GetVertexShader(shader); 563 } 564 GetVertexShaderConstantB(unsigned int startRegister,int * constantData,unsigned int count)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 GetVertexShaderConstantF(unsigned int startRegister,float * constantData,unsigned int count)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 GetVertexShaderConstantI(unsigned int startRegister,int * constantData,unsigned int count)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 GetViewport(D3DVIEWPORT9 * viewport)586 long Direct3DDevice9Ex::GetViewport(D3DVIEWPORT9 *viewport) 587 { 588 TRACE("D3DVIEWPORT9 *viewport = 0x%0.8p", viewport); 589 590 return Direct3DDevice9::GetViewport(viewport); 591 } 592 LightEnable(unsigned long index,int enable)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 MultiplyTransform(D3DTRANSFORMSTATETYPE state,const D3DMATRIX * matrix)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 Present(const RECT * sourceRect,const RECT * destRect,HWND destWindowOverride,const RGNDATA * dirtyRegion)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 ProcessVertices(unsigned int srcStartIndex,unsigned int destIndex,unsigned int vertexCount,IDirect3DVertexBuffer9 * destBuffer,IDirect3DVertexDeclaration9 * vertexDeclaration,unsigned long flags)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 Reset(D3DPRESENT_PARAMETERS * presentParameters)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 SetClipPlane(unsigned long index,const float * plane)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 SetClipStatus(const D3DCLIPSTATUS9 * clipStatus)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 SetCurrentTexturePalette(unsigned int paletteNumber)642 long Direct3DDevice9Ex::SetCurrentTexturePalette(unsigned int paletteNumber) 643 { 644 TRACE("unsigned int paletteNumber = %d", paletteNumber); 645 646 return Direct3DDevice9::SetCurrentTexturePalette(paletteNumber); 647 } 648 SetCursorPosition(int x,int y,unsigned long flags)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 SetCursorProperties(unsigned int x,unsigned int y,IDirect3DSurface9 * cursorBitmap)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 SetDepthStencilSurface(IDirect3DSurface9 * iDepthStencil)663 long Direct3DDevice9Ex::SetDepthStencilSurface(IDirect3DSurface9 *iDepthStencil) 664 { 665 TRACE("IDirect3DSurface9 *newDepthStencil = 0x%0.8p", iDepthStencil); 666 667 return Direct3DDevice9::SetDepthStencilSurface(iDepthStencil); 668 } 669 SetDialogBoxMode(int enableDialogs)670 long Direct3DDevice9Ex::SetDialogBoxMode(int enableDialogs) 671 { 672 TRACE("int enableDialogs = %d", enableDialogs); 673 674 return Direct3DDevice9::SetDialogBoxMode(enableDialogs); 675 } 676 SetFVF(unsigned long FVF)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 SetGammaRamp(unsigned int index,unsigned long flags,const D3DGAMMARAMP * ramp)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 SetIndices(IDirect3DIndexBuffer9 * iIndexBuffer)691 long Direct3DDevice9Ex::SetIndices(IDirect3DIndexBuffer9* iIndexBuffer) 692 { 693 TRACE("IDirect3DIndexBuffer9* indexData = 0x%0.8p", iIndexBuffer); 694 695 return Direct3DDevice9::SetIndices(iIndexBuffer); 696 } 697 SetLight(unsigned long index,const D3DLIGHT9 * light)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 SetMaterial(const D3DMATERIAL9 * material)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 SetNPatchMode(float segments)712 long Direct3DDevice9Ex::SetNPatchMode(float segments) 713 { 714 TRACE("float segments = %f", segments); 715 716 return Direct3DDevice9::SetNPatchMode(segments); 717 } 718 SetPaletteEntries(unsigned int paletteNumber,const PALETTEENTRY * entries)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 SetPixelShader(IDirect3DPixelShader9 * iPixelShader)726 long Direct3DDevice9Ex::SetPixelShader(IDirect3DPixelShader9 *iPixelShader) 727 { 728 TRACE("IDirect3DPixelShader9 *shader = 0x%0.8p", iPixelShader); 729 730 return Direct3DDevice9::SetPixelShader(iPixelShader); 731 } 732 SetPixelShaderConstantB(unsigned int startRegister,const int * constantData,unsigned int count)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 SetPixelShaderConstantF(unsigned int startRegister,const float * constantData,unsigned int count)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 SetPixelShaderConstantI(unsigned int startRegister,const int * constantData,unsigned int count)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 SetRenderState(D3DRENDERSTATETYPE state,unsigned long value)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 SetRenderTarget(unsigned long index,IDirect3DSurface9 * iRenderTarget)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 SetSamplerState(unsigned long sampler,D3DSAMPLERSTATETYPE state,unsigned long value)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 SetScissorRect(const RECT * rect)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 SetSoftwareVertexProcessing(int software)782 long Direct3DDevice9Ex::SetSoftwareVertexProcessing(int software) 783 { 784 TRACE("int software = %d", software); 785 786 return Direct3DDevice9::SetSoftwareVertexProcessing(software); 787 } 788 SetStreamSource(unsigned int stream,IDirect3DVertexBuffer9 * iVertexBuffer,unsigned int offset,unsigned int stride)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 SetStreamSourceFreq(unsigned int streamNumber,unsigned int divider)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 } 802 SetTexture(unsigned long sampler,IDirect3DBaseTexture9 * iBaseTexture)803 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 SetTextureStageState(unsigned long stage,D3DTEXTURESTAGESTATETYPE type,unsigned long value)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 SetTransform(D3DTRANSFORMSTATETYPE state,const D3DMATRIX * matrix)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 SetVertexDeclaration(IDirect3DVertexDeclaration9 * iVertexDeclaration)824 long Direct3DDevice9Ex::SetVertexDeclaration(IDirect3DVertexDeclaration9 *iVertexDeclaration) 825 { 826 TRACE("IDirect3DVertexDeclaration9 *declaration = 0x%0.8p", iVertexDeclaration); 827 828 return Direct3DDevice9::SetVertexDeclaration(iVertexDeclaration); 829 } 830 SetVertexShader(IDirect3DVertexShader9 * iVertexShader)831 long Direct3DDevice9Ex::SetVertexShader(IDirect3DVertexShader9 *iVertexShader) 832 { 833 TRACE("IDirect3DVertexShader9 *shader = 0x%0.8p", iVertexShader); 834 835 return Direct3DDevice9::SetVertexShader(iVertexShader); 836 } 837 SetVertexShaderConstantB(unsigned int startRegister,const int * constantData,unsigned int count)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 SetVertexShaderConstantF(unsigned int startRegister,const float * constantData,unsigned int count)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 SetVertexShaderConstantI(unsigned int startRegister,const int * constantData,unsigned int count)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 SetViewport(const D3DVIEWPORT9 * viewport)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 ShowCursor(int show)866 int Direct3DDevice9Ex::ShowCursor(int show) 867 { 868 TRACE("int show = %d", show); 869 870 return Direct3DDevice9::ShowCursor(show); 871 } 872 StretchRect(IDirect3DSurface9 * sourceSurface,const RECT * sourceRect,IDirect3DSurface9 * destSurface,const RECT * destRect,D3DTEXTUREFILTERTYPE filter)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 TestCooperativeLevel()880 long Direct3DDevice9Ex::TestCooperativeLevel() 881 { 882 TRACE("void"); 883 884 return Direct3DDevice9::TestCooperativeLevel(); 885 } 886 UpdateSurface(IDirect3DSurface9 * sourceSurface,const RECT * sourceRect,IDirect3DSurface9 * destinationSurface,const POINT * destPoint)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 UpdateTexture(IDirect3DBaseTexture9 * sourceTexture,IDirect3DBaseTexture9 * destinationTexture)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 ValidateDevice(unsigned long * numPasses)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 SetConvolutionMonoKernel(UINT,UINT,float *,float *)908 HRESULT Direct3DDevice9Ex::SetConvolutionMonoKernel(UINT,UINT,float *,float *) 909 { 910 CriticalSection cs(this); 911 912 UNIMPLEMENTED(); 913 914 return D3D_OK; 915 } 916 ComposeRects(IDirect3DSurface9 *,IDirect3DSurface9 *,IDirect3DVertexBuffer9 *,UINT,IDirect3DVertexBuffer9 *,D3DCOMPOSERECTSOP,int,int)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 PresentEx(const RECT *,const RECT *,HWND,const RGNDATA *,DWORD)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 GetGPUThreadPriority(INT *)935 HRESULT Direct3DDevice9Ex::GetGPUThreadPriority(INT *) 936 { 937 CriticalSection cs(this); 938 939 UNIMPLEMENTED(); 940 941 return D3D_OK; 942 } 943 SetGPUThreadPriority(INT)944 HRESULT Direct3DDevice9Ex::SetGPUThreadPriority(INT) 945 { 946 CriticalSection cs(this); 947 948 UNIMPLEMENTED(); 949 950 return D3D_OK; 951 } 952 WaitForVBlank(UINT)953 HRESULT Direct3DDevice9Ex::WaitForVBlank(UINT) 954 { 955 CriticalSection cs(this); 956 957 UNIMPLEMENTED(); 958 959 return D3D_OK; 960 } 961 CheckResourceResidency(IDirect3DResource9 **,UINT32)962 HRESULT Direct3DDevice9Ex::CheckResourceResidency(IDirect3DResource9 **,UINT32) 963 { 964 CriticalSection cs(this); 965 966 UNIMPLEMENTED(); 967 968 return D3D_OK; 969 } 970 SetMaximumFrameLatency(UINT)971 HRESULT Direct3DDevice9Ex::SetMaximumFrameLatency(UINT) 972 { 973 CriticalSection cs(this); 974 975 UNIMPLEMENTED(); 976 977 return D3D_OK; 978 } 979 GetMaximumFrameLatency(UINT *)980 HRESULT Direct3DDevice9Ex::GetMaximumFrameLatency(UINT *) 981 { 982 CriticalSection cs(this); 983 984 UNIMPLEMENTED(); 985 986 return D3D_OK; 987 } 988 CheckDeviceState(HWND destinationWindow)989 HRESULT Direct3DDevice9Ex::CheckDeviceState(HWND destinationWindow) 990 { 991 CriticalSection cs(this); 992 993 // UNIMPLEMENTED(); 994 995 return D3D_OK; 996 } 997 CreateRenderTargetEx(UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9 **,HANDLE *,DWORD)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 CreateOffscreenPlainSurfaceEx(UINT,UINT,D3DFORMAT,D3DPOOL,IDirect3DSurface9 **,HANDLE *,DWORD)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 CreateDepthStencilSurfaceEx(UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9 **,HANDLE *,DWORD)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 ResetEx(D3DPRESENT_PARAMETERS *,D3DDISPLAYMODEEX *)1025 HRESULT Direct3DDevice9Ex::ResetEx(D3DPRESENT_PARAMETERS *,D3DDISPLAYMODEEX *) 1026 { 1027 CriticalSection cs(this); 1028 1029 UNIMPLEMENTED(); 1030 1031 return D3D_OK; 1032 } 1033 GetDisplayModeEx(UINT,D3DDISPLAYMODEEX *,D3DDISPLAYROTATION *)1034 HRESULT Direct3DDevice9Ex::GetDisplayModeEx(UINT,D3DDISPLAYMODEEX *,D3DDISPLAYROTATION *) 1035 { 1036 CriticalSection cs(this); 1037 1038 UNIMPLEMENTED(); 1039 1040 return D3D_OK; 1041 } 1042 } 1043