Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygend3d9_private.h
Go to the documentation of this file.
00001 /* 00002 * Direct3D 9 private include file 00003 * 00004 * Copyright 2002-2003 Jason Edmeades 00005 * Copyright 2002-2003 Raphael Junqueira 00006 * Copyright 2005 Oliver Stieber 00007 * 00008 * This library is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00021 */ 00022 00023 #ifndef __WINE_D3D9_PRIVATE_H 00024 #define __WINE_D3D9_PRIVATE_H 00025 00026 #include <stdarg.h> 00027 00028 #define NONAMELESSUNION 00029 #define NONAMELESSSTRUCT 00030 #define COBJMACROS 00031 #include "windef.h" 00032 #include "winbase.h" 00033 #include "wingdi.h" 00034 #include "winuser.h" 00035 #include "wine/debug.h" 00036 #include "wine/unicode.h" 00037 00038 #include "d3d9.h" 00039 #include "wine/wined3d.h" 00040 00041 /* =========================================================================== 00042 Internal use 00043 =========================================================================== */ 00044 extern HRESULT vdecl_convert_fvf(DWORD FVF, D3DVERTEXELEMENT9 **ppVertexElements) DECLSPEC_HIDDEN; 00045 D3DFORMAT d3dformat_from_wined3dformat(enum wined3d_format_id format) DECLSPEC_HIDDEN; 00046 enum wined3d_format_id wined3dformat_from_d3dformat(D3DFORMAT format) DECLSPEC_HIDDEN; 00047 00048 /* =========================================================================== 00049 Macros 00050 =========================================================================== */ 00051 /* Not nice, but it lets wined3d support different versions of directx */ 00052 #define WINECAPSTOD3D9CAPS(_pD3D9Caps, _pWineCaps) \ 00053 _pD3D9Caps->DeviceType = (D3DDEVTYPE) _pWineCaps->DeviceType; \ 00054 _pD3D9Caps->AdapterOrdinal = _pWineCaps->AdapterOrdinal; \ 00055 _pD3D9Caps->Caps = _pWineCaps->Caps; \ 00056 _pD3D9Caps->Caps2 = _pWineCaps->Caps2; \ 00057 _pD3D9Caps->Caps3 = _pWineCaps->Caps3; \ 00058 _pD3D9Caps->PresentationIntervals = _pWineCaps->PresentationIntervals; \ 00059 _pD3D9Caps->CursorCaps = _pWineCaps->CursorCaps; \ 00060 _pD3D9Caps->DevCaps = _pWineCaps->DevCaps; \ 00061 _pD3D9Caps->PrimitiveMiscCaps = _pWineCaps->PrimitiveMiscCaps; \ 00062 _pD3D9Caps->RasterCaps = _pWineCaps->RasterCaps; \ 00063 _pD3D9Caps->ZCmpCaps = _pWineCaps->ZCmpCaps; \ 00064 _pD3D9Caps->SrcBlendCaps = _pWineCaps->SrcBlendCaps; \ 00065 _pD3D9Caps->DestBlendCaps = _pWineCaps->DestBlendCaps; \ 00066 _pD3D9Caps->AlphaCmpCaps = _pWineCaps->AlphaCmpCaps; \ 00067 _pD3D9Caps->ShadeCaps = _pWineCaps->ShadeCaps; \ 00068 _pD3D9Caps->TextureCaps = _pWineCaps->TextureCaps; \ 00069 _pD3D9Caps->TextureFilterCaps = _pWineCaps->TextureFilterCaps; \ 00070 _pD3D9Caps->CubeTextureFilterCaps = _pWineCaps->CubeTextureFilterCaps; \ 00071 _pD3D9Caps->VolumeTextureFilterCaps = _pWineCaps->VolumeTextureFilterCaps; \ 00072 _pD3D9Caps->TextureAddressCaps = _pWineCaps->TextureAddressCaps; \ 00073 _pD3D9Caps->VolumeTextureAddressCaps = _pWineCaps->VolumeTextureAddressCaps; \ 00074 _pD3D9Caps->LineCaps = _pWineCaps->LineCaps; \ 00075 _pD3D9Caps->MaxTextureWidth = _pWineCaps->MaxTextureWidth; \ 00076 _pD3D9Caps->MaxTextureHeight = _pWineCaps->MaxTextureHeight; \ 00077 _pD3D9Caps->MaxVolumeExtent = _pWineCaps->MaxVolumeExtent; \ 00078 _pD3D9Caps->MaxTextureRepeat = _pWineCaps->MaxTextureRepeat; \ 00079 _pD3D9Caps->MaxTextureAspectRatio = _pWineCaps->MaxTextureAspectRatio; \ 00080 _pD3D9Caps->MaxAnisotropy = _pWineCaps->MaxAnisotropy; \ 00081 _pD3D9Caps->MaxVertexW = _pWineCaps->MaxVertexW; \ 00082 _pD3D9Caps->GuardBandLeft = _pWineCaps->GuardBandLeft; \ 00083 _pD3D9Caps->GuardBandTop = _pWineCaps->GuardBandTop; \ 00084 _pD3D9Caps->GuardBandRight = _pWineCaps->GuardBandRight; \ 00085 _pD3D9Caps->GuardBandBottom = _pWineCaps->GuardBandBottom; \ 00086 _pD3D9Caps->ExtentsAdjust = _pWineCaps->ExtentsAdjust; \ 00087 _pD3D9Caps->StencilCaps = _pWineCaps->StencilCaps; \ 00088 _pD3D9Caps->FVFCaps = _pWineCaps->FVFCaps; \ 00089 _pD3D9Caps->TextureOpCaps = _pWineCaps->TextureOpCaps; \ 00090 _pD3D9Caps->MaxTextureBlendStages = _pWineCaps->MaxTextureBlendStages; \ 00091 _pD3D9Caps->MaxSimultaneousTextures = _pWineCaps->MaxSimultaneousTextures; \ 00092 _pD3D9Caps->VertexProcessingCaps = _pWineCaps->VertexProcessingCaps; \ 00093 _pD3D9Caps->MaxActiveLights = _pWineCaps->MaxActiveLights; \ 00094 _pD3D9Caps->MaxUserClipPlanes = _pWineCaps->MaxUserClipPlanes; \ 00095 _pD3D9Caps->MaxVertexBlendMatrices = _pWineCaps->MaxVertexBlendMatrices; \ 00096 _pD3D9Caps->MaxVertexBlendMatrixIndex = _pWineCaps->MaxVertexBlendMatrixIndex; \ 00097 _pD3D9Caps->MaxPointSize = _pWineCaps->MaxPointSize; \ 00098 _pD3D9Caps->MaxPrimitiveCount = _pWineCaps->MaxPrimitiveCount; \ 00099 _pD3D9Caps->MaxVertexIndex = _pWineCaps->MaxVertexIndex; \ 00100 _pD3D9Caps->MaxStreams = _pWineCaps->MaxStreams; \ 00101 _pD3D9Caps->MaxStreamStride = _pWineCaps->MaxStreamStride; \ 00102 _pD3D9Caps->VertexShaderVersion = _pWineCaps->VertexShaderVersion; \ 00103 _pD3D9Caps->MaxVertexShaderConst = _pWineCaps->MaxVertexShaderConst; \ 00104 _pD3D9Caps->PixelShaderVersion = _pWineCaps->PixelShaderVersion; \ 00105 _pD3D9Caps->PixelShader1xMaxValue = _pWineCaps->PixelShader1xMaxValue; \ 00106 _pD3D9Caps->DevCaps2 = _pWineCaps->DevCaps2; \ 00107 _pD3D9Caps->MaxNpatchTessellationLevel = _pWineCaps->MaxNpatchTessellationLevel; \ 00108 _pD3D9Caps->MasterAdapterOrdinal = _pWineCaps->MasterAdapterOrdinal; \ 00109 _pD3D9Caps->AdapterOrdinalInGroup = _pWineCaps->AdapterOrdinalInGroup; \ 00110 _pD3D9Caps->NumberOfAdaptersInGroup = _pWineCaps->NumberOfAdaptersInGroup; \ 00111 _pD3D9Caps->DeclTypes = _pWineCaps->DeclTypes; \ 00112 _pD3D9Caps->NumSimultaneousRTs = _pWineCaps->NumSimultaneousRTs; \ 00113 _pD3D9Caps->StretchRectFilterCaps = _pWineCaps->StretchRectFilterCaps; \ 00114 _pD3D9Caps->VS20Caps.Caps = _pWineCaps->VS20Caps.caps; \ 00115 _pD3D9Caps->VS20Caps.DynamicFlowControlDepth = _pWineCaps->VS20Caps.dynamic_flow_control_depth; \ 00116 _pD3D9Caps->VS20Caps.NumTemps = _pWineCaps->VS20Caps.temp_count; \ 00117 _pD3D9Caps->VS20Caps.StaticFlowControlDepth = _pWineCaps->VS20Caps.static_flow_control_depth; \ 00118 _pD3D9Caps->PS20Caps.Caps = _pWineCaps->PS20Caps.caps; \ 00119 _pD3D9Caps->PS20Caps.DynamicFlowControlDepth = _pWineCaps->PS20Caps.dynamic_flow_control_depth; \ 00120 _pD3D9Caps->PS20Caps.NumTemps = _pWineCaps->PS20Caps.temp_count; \ 00121 _pD3D9Caps->PS20Caps.StaticFlowControlDepth = _pWineCaps->PS20Caps.static_flow_control_depth; \ 00122 _pD3D9Caps->PS20Caps.NumInstructionSlots = _pWineCaps->PS20Caps.instruction_slot_count; \ 00123 _pD3D9Caps->VertexTextureFilterCaps = _pWineCaps->VertexTextureFilterCaps; \ 00124 _pD3D9Caps->MaxVShaderInstructionsExecuted = _pWineCaps->MaxVShaderInstructionsExecuted; \ 00125 _pD3D9Caps->MaxPShaderInstructionsExecuted = _pWineCaps->MaxPShaderInstructionsExecuted; \ 00126 _pD3D9Caps->MaxVertexShader30InstructionSlots = _pWineCaps->MaxVertexShader30InstructionSlots; \ 00127 _pD3D9Caps->MaxPixelShader30InstructionSlots = _pWineCaps->MaxPixelShader30InstructionSlots; 00128 00129 /* =========================================================================== 00130 D3D9 interfaces 00131 =========================================================================== */ 00132 00133 /* ---------- */ 00134 /* IDirect3D9 */ 00135 /* ---------- */ 00136 00137 /***************************************************************************** 00138 * Predeclare the interface implementation structures 00139 */ 00140 extern const IDirect3D9ExVtbl Direct3D9_Vtbl DECLSPEC_HIDDEN; 00141 00142 /***************************************************************************** 00143 * IDirect3D implementation structure 00144 */ 00145 typedef struct IDirect3D9Impl 00146 { 00147 /* IUnknown fields */ 00148 IDirect3D9Ex IDirect3D9Ex_iface; 00149 LONG ref; 00150 00151 struct wined3d *WineD3D; 00152 00153 /* Created via Direct3DCreate9Ex? Can QI extended interfaces */ 00154 BOOL extended; 00155 } IDirect3D9Impl; 00156 00157 void filter_caps(D3DCAPS9* pCaps) DECLSPEC_HIDDEN; 00158 00159 /***************************************************************************** 00160 * IDirect3DDevice9 implementation structure 00161 */ 00162 typedef struct IDirect3DDevice9Impl 00163 { 00164 IDirect3DDevice9Ex IDirect3DDevice9Ex_iface; 00165 struct wined3d_device_parent device_parent; 00166 LONG ref; 00167 struct wined3d_device *wined3d_device; 00168 IDirect3D9Ex *d3d_parent; 00169 /* Avoids recursion with nested ReleaseRef to 0 */ 00170 BOOL inDestruction; 00171 00172 IDirect3DVertexDeclaration9 **convertedDecls; 00173 unsigned int numConvertedDecls, declArraySize; 00174 00175 BOOL notreset; 00176 } IDirect3DDevice9Impl; 00177 00178 HRESULT device_init(IDirect3DDevice9Impl *device, IDirect3D9Impl *parent, struct wined3d *wined3d, UINT adapter, D3DDEVTYPE device_type, 00179 HWND focus_window, DWORD flags, D3DPRESENT_PARAMETERS *parameters, D3DDISPLAYMODEEX *mode) DECLSPEC_HIDDEN; 00180 00181 /***************************************************************************** 00182 * IDirect3DVolume9 implementation structure 00183 */ 00184 typedef struct IDirect3DVolume9Impl 00185 { 00186 /* IUnknown fields */ 00187 IDirect3DVolume9 IDirect3DVolume9_iface; 00188 LONG ref; 00189 struct wined3d_volume *wined3d_volume; 00190 IUnknown *container; 00191 IUnknown *forwardReference; 00192 } IDirect3DVolume9Impl; 00193 00194 HRESULT volume_init(IDirect3DVolume9Impl *volume, IDirect3DDevice9Impl *device, UINT width, UINT height, 00195 UINT depth, DWORD usage, enum wined3d_format_id format, enum wined3d_pool pool) DECLSPEC_HIDDEN; 00196 00197 /* ------------------- */ 00198 /* IDirect3DSwapChain9 */ 00199 /* ------------------- */ 00200 00201 /***************************************************************************** 00202 * IDirect3DSwapChain9 implementation structure 00203 */ 00204 typedef struct IDirect3DSwapChain9Impl 00205 { 00206 /* IUnknown fields */ 00207 const IDirect3DSwapChain9Vtbl *lpVtbl; 00208 LONG ref; 00209 struct wined3d_swapchain *wined3d_swapchain; 00210 IDirect3DDevice9Ex *parentDevice; 00211 } IDirect3DSwapChain9Impl; 00212 00213 HRESULT swapchain_init(IDirect3DSwapChain9Impl *swapchain, IDirect3DDevice9Impl *device, 00214 D3DPRESENT_PARAMETERS *present_parameters) DECLSPEC_HIDDEN; 00215 00216 /* ----------------- */ 00217 /* IDirect3DSurface9 */ 00218 /* ----------------- */ 00219 00220 /***************************************************************************** 00221 * IDirect3DSurface9 implementation structure 00222 */ 00223 typedef struct IDirect3DSurface9Impl 00224 { 00225 IDirect3DSurface9 IDirect3DSurface9_iface; 00226 LONG ref; 00227 struct wined3d_surface *wined3d_surface; 00228 IDirect3DDevice9Ex *parentDevice; 00229 00230 /* The surface container */ 00231 IUnknown *container; 00232 00233 /* If set forward refcounting to this object */ 00234 IUnknown *forwardReference; 00235 00236 BOOL getdc_supported; 00237 } IDirect3DSurface9Impl; 00238 00239 HRESULT surface_init(IDirect3DSurface9Impl *surface, IDirect3DDevice9Impl *device, 00240 UINT width, UINT height, D3DFORMAT format, BOOL lockable, BOOL discard, UINT level, 00241 DWORD usage, D3DPOOL pool, D3DMULTISAMPLE_TYPE multisample_type, DWORD multisample_quality) DECLSPEC_HIDDEN; 00242 IDirect3DSurface9Impl *unsafe_impl_from_IDirect3DSurface9(IDirect3DSurface9 *iface) DECLSPEC_HIDDEN; 00243 00244 /* ---------------------- */ 00245 /* IDirect3DVertexBuffer9 */ 00246 /* ---------------------- */ 00247 00248 /***************************************************************************** 00249 * IDirect3DVertexBuffer9 implementation structure 00250 */ 00251 typedef struct IDirect3DVertexBuffer9Impl 00252 { 00253 IDirect3DVertexBuffer9 IDirect3DVertexBuffer9_iface; 00254 LONG ref; 00255 struct wined3d_buffer *wineD3DVertexBuffer; 00256 IDirect3DDevice9Ex *parentDevice; 00257 DWORD fvf; 00258 } IDirect3DVertexBuffer9Impl; 00259 00260 HRESULT vertexbuffer_init(IDirect3DVertexBuffer9Impl *buffer, IDirect3DDevice9Impl *device, 00261 UINT size, UINT usage, DWORD fvf, D3DPOOL pool) DECLSPEC_HIDDEN; 00262 IDirect3DVertexBuffer9Impl *unsafe_impl_from_IDirect3DVertexBuffer9(IDirect3DVertexBuffer9 *iface) DECLSPEC_HIDDEN; 00263 00264 /* --------------------- */ 00265 /* IDirect3DIndexBuffer9 */ 00266 /* --------------------- */ 00267 00268 /***************************************************************************** 00269 * IDirect3DIndexBuffer9 implementation structure 00270 */ 00271 typedef struct IDirect3DIndexBuffer9Impl 00272 { 00273 IDirect3DIndexBuffer9 IDirect3DIndexBuffer9_iface; 00274 LONG ref; 00275 struct wined3d_buffer *wineD3DIndexBuffer; 00276 IDirect3DDevice9Ex *parentDevice; 00277 enum wined3d_format_id format; 00278 } IDirect3DIndexBuffer9Impl; 00279 00280 HRESULT indexbuffer_init(IDirect3DIndexBuffer9Impl *buffer, IDirect3DDevice9Impl *device, 00281 UINT size, DWORD usage, D3DFORMAT format, D3DPOOL pool) DECLSPEC_HIDDEN; 00282 IDirect3DIndexBuffer9Impl *unsafe_impl_from_IDirect3DIndexBuffer9(IDirect3DIndexBuffer9 *iface) DECLSPEC_HIDDEN; 00283 00284 /* --------------------- */ 00285 /* IDirect3DBaseTexture9 */ 00286 /* --------------------- */ 00287 00288 /***************************************************************************** 00289 * IDirect3DBaseTexture9 implementation structure 00290 */ 00291 typedef struct IDirect3DBaseTexture9Impl 00292 { 00293 const IDirect3DBaseTexture9Vtbl *lpVtbl; 00294 LONG ref; 00295 struct wined3d_texture *wined3d_texture; 00296 } IDirect3DBaseTexture9Impl; 00297 00298 /* --------------------- */ 00299 /* IDirect3DCubeTexture9 */ 00300 /* --------------------- */ 00301 00302 /***************************************************************************** 00303 * IDirect3DCubeTexture9 implementation structure 00304 */ 00305 typedef struct IDirect3DCubeTexture9Impl 00306 { 00307 IDirect3DCubeTexture9 IDirect3DCubeTexture9_iface; 00308 LONG ref; 00309 struct wined3d_texture *wined3d_texture; 00310 IDirect3DDevice9Ex *parentDevice; 00311 } IDirect3DCubeTexture9Impl; 00312 00313 HRESULT cubetexture_init(IDirect3DCubeTexture9Impl *texture, IDirect3DDevice9Impl *device, 00314 UINT edge_length, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool) DECLSPEC_HIDDEN; 00315 00316 /* ----------------- */ 00317 /* IDirect3DTexture9 */ 00318 /* ----------------- */ 00319 00320 /***************************************************************************** 00321 * IDirect3DTexture9 implementation structure 00322 */ 00323 typedef struct IDirect3DTexture9Impl 00324 { 00325 IDirect3DTexture9 IDirect3DTexture9_iface; 00326 LONG ref; 00327 struct wined3d_texture *wined3d_texture; 00328 IDirect3DDevice9Ex *parentDevice; 00329 } IDirect3DTexture9Impl; 00330 00331 HRESULT texture_init(IDirect3DTexture9Impl *texture, IDirect3DDevice9Impl *device, 00332 UINT width, UINT height, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool) DECLSPEC_HIDDEN; 00333 00334 /* ----------------------- */ 00335 /* IDirect3DVolumeTexture9 */ 00336 /* ----------------------- */ 00337 00338 /***************************************************************************** 00339 * IDirect3DVolumeTexture9 implementation structure 00340 */ 00341 typedef struct IDirect3DVolumeTexture9Impl 00342 { 00343 IDirect3DVolumeTexture9 IDirect3DVolumeTexture9_iface; 00344 LONG ref; 00345 struct wined3d_texture *wined3d_texture; 00346 IDirect3DDevice9Ex *parentDevice; 00347 } IDirect3DVolumeTexture9Impl; 00348 00349 HRESULT volumetexture_init(IDirect3DVolumeTexture9Impl *texture, IDirect3DDevice9Impl *device, 00350 UINT width, UINT height, UINT depth, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool) DECLSPEC_HIDDEN; 00351 00352 /* ----------------------- */ 00353 /* IDirect3DStateBlock9 */ 00354 /* ----------------------- */ 00355 00356 /***************************************************************************** 00357 * IDirect3DStateBlock9 implementation structure 00358 */ 00359 typedef struct IDirect3DStateBlock9Impl { 00360 IDirect3DStateBlock9 IDirect3DStateBlock9_iface; 00361 LONG ref; 00362 00363 /* IDirect3DStateBlock9 fields */ 00364 struct wined3d_stateblock *wined3d_stateblock; 00365 00366 /* Parent reference */ 00367 IDirect3DDevice9Ex *parentDevice; 00368 } IDirect3DStateBlock9Impl; 00369 00370 HRESULT stateblock_init(IDirect3DStateBlock9Impl *stateblock, IDirect3DDevice9Impl *device, 00371 D3DSTATEBLOCKTYPE type, struct wined3d_stateblock *wined3d_stateblock) DECLSPEC_HIDDEN; 00372 00373 /* --------------------------- */ 00374 /* IDirect3DVertexDeclaration9 */ 00375 /* --------------------------- */ 00376 00377 /***************************************************************************** 00378 * IDirect3DVertexDeclaration implementation structure 00379 */ 00380 typedef struct IDirect3DVertexDeclaration9Impl { 00381 /* IUnknown fields */ 00382 const IDirect3DVertexDeclaration9Vtbl *lpVtbl; 00383 LONG ref; 00384 00385 D3DVERTEXELEMENT9 *elements; 00386 UINT element_count; 00387 00388 /* IDirect3DVertexDeclaration9 fields */ 00389 struct wined3d_vertex_declaration *wineD3DVertexDeclaration; 00390 DWORD convFVF; 00391 00392 /* Parent reference */ 00393 LPDIRECT3DDEVICE9EX parentDevice; 00394 } IDirect3DVertexDeclaration9Impl; 00395 00396 void IDirect3DVertexDeclaration9Impl_Destroy(LPDIRECT3DVERTEXDECLARATION9 iface) DECLSPEC_HIDDEN; 00397 HRESULT vertexdeclaration_init(IDirect3DVertexDeclaration9Impl *declaration, 00398 IDirect3DDevice9Impl *device, const D3DVERTEXELEMENT9 *elements) DECLSPEC_HIDDEN; 00399 00400 /* ---------------------- */ 00401 /* IDirect3DVertexShader9 */ 00402 /* ---------------------- */ 00403 00404 /***************************************************************************** 00405 * IDirect3DVertexShader implementation structure 00406 */ 00407 typedef struct IDirect3DVertexShader9Impl { 00408 IDirect3DVertexShader9 IDirect3DVertexShader9_iface; 00409 LONG ref; 00410 struct wined3d_shader *wined3d_shader; 00411 IDirect3DDevice9Ex *parentDevice; 00412 } IDirect3DVertexShader9Impl; 00413 00414 HRESULT vertexshader_init(IDirect3DVertexShader9Impl *shader, 00415 IDirect3DDevice9Impl *device, const DWORD *byte_code) DECLSPEC_HIDDEN; 00416 IDirect3DVertexShader9Impl *unsafe_impl_from_IDirect3DVertexShader9(IDirect3DVertexShader9 *iface) DECLSPEC_HIDDEN; 00417 00418 #define D3D9_MAX_VERTEX_SHADER_CONSTANTF 256 00419 #define D3D9_MAX_SIMULTANEOUS_RENDERTARGETS 4 00420 00421 /* --------------------- */ 00422 /* IDirect3DPixelShader9 */ 00423 /* --------------------- */ 00424 00425 /***************************************************************************** 00426 * IDirect3DPixelShader implementation structure 00427 */ 00428 typedef struct IDirect3DPixelShader9Impl { 00429 IDirect3DPixelShader9 IDirect3DPixelShader9_iface; 00430 LONG ref; 00431 struct wined3d_shader *wined3d_shader; 00432 IDirect3DDevice9Ex *parentDevice; 00433 } IDirect3DPixelShader9Impl; 00434 00435 HRESULT pixelshader_init(IDirect3DPixelShader9Impl *shader, 00436 IDirect3DDevice9Impl *device, const DWORD *byte_code) DECLSPEC_HIDDEN; 00437 IDirect3DPixelShader9Impl *unsafe_impl_from_IDirect3DPixelShader9(IDirect3DPixelShader9 *iface) DECLSPEC_HIDDEN; 00438 00439 /* --------------- */ 00440 /* IDirect3DQuery9 */ 00441 /* --------------- */ 00442 00443 /***************************************************************************** 00444 * IDirect3DPixelShader implementation structure 00445 */ 00446 typedef struct IDirect3DQuery9Impl { 00447 IDirect3DQuery9 IDirect3DQuery9_iface; 00448 LONG ref; 00449 00450 /* IDirect3DQuery9 fields */ 00451 struct wined3d_query *wineD3DQuery; 00452 00453 /* Parent reference */ 00454 IDirect3DDevice9Ex *parentDevice; 00455 } IDirect3DQuery9Impl; 00456 00457 HRESULT query_init(IDirect3DQuery9Impl *query, IDirect3DDevice9Impl *device, 00458 D3DQUERYTYPE type) DECLSPEC_HIDDEN; 00459 00460 #endif /* __WINE_D3D9_PRIVATE_H */ Generated on Fri May 25 2012 04:19:12 for ReactOS by
1.7.6.1
|