ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

d3d9_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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.