No subject


Wed Feb 20 09:39:33 CST 2008


=0A---=0A dlls/d3dx9_36/d3dx9_36_private.h |   26 ++++++++++++++-------=0A =
dlls/d3dx9_36/offscreen.c        |   44 +++++++++++++++++++++++++++++++++++=
+-=0A 2 files changed, 59 insertions(+), 11 deletions(-)=0A=0Adiff --git a/=
dlls/d3dx9_36/d3dx9_36_private.h b/dlls/d3dx9_36/d3dx9_36_private.h=0Aindex=
 2705872..0e32e2e 100644=0A--- a/dlls/d3dx9_36/d3dx9_36_private.h=0A+++ b/d=
lls/d3dx9_36/d3dx9_36_private.h=0A@@ -29,20 +29,28 @@=0A =0A typedef struct=
 ID3DXFontImpl=0A {=0A-  /* IUnknown fields */=0A-  const ID3DXFontVtbl *lp=
Vtbl;=0A-  LONG ref;=0A+    /* IUnknown fields */=0A+    const ID3DXFontVtb=
l *lpVtbl;=0A+    LONG ref;=0A =0A-  /* ID3DXFont fields */=0A+    /* ID3DX=
Font fields */=0A } ID3DXFontImpl;=0A =0A typedef struct ID3DXRenderToSurfa=
ceImpl=0A {=0A-  /* IUnknown fields */=0A-  const ID3DXRenderToSurfaceVtbl =
*lpVtbl;=0A-  LONG ref;=0A-=0A-  /* ID3DXRenderToSurface fields */=0A+    /=
* IUnknown fields */=0A+    const ID3DXRenderToSurfaceVtbl *lpVtbl;=0A+    =
LONG ref;=0A+=0A+    /* ID3DXRenderToSurface fields */=0A+    IDirect3DDevi=
ce9 *device;=0A+    D3DXRTS_DESC desc;=0A+    IDirect3DSurface9 *target;=0A=
+    IDirect3DSurface9 *buffer;=0A+    IDirect3DSurface9 *stencil;=0A+    I=
Direct3DSurface9 *oldtarget;=0A+    IDirect3DSurface9 *oldstencil;=0A+    I=
Direct3DStateBlock9 *stateblock;=0A } ID3DXRenderToSurfaceImpl;=0A =0A #end=
if /* __WINE_D3DX9_36_PRIVATE_H */=0Adiff --git a/dlls/d3dx9_36/offscreen.c=
 b/dlls/d3dx9_36/offscreen.c=0Aindex 2db1037..b192eb0 100644=0A--- a/dlls/d=
3dx9_36/offscreen.c=0A+++ b/dlls/d3dx9_36/offscreen.c=0A@@ -116,19 +116,59 =
@@ static const ID3DXRenderToSurfaceVtbl D3DXRenderToSurface_Vtbl =3D=0A   =
  ID3DXRenderToSurfaceImpl_OnResetDevice=0A };=0A =0A+/********************=
****************************************=0A+   *               D3DXCreateRe=
nderToSurface=0A+   *=0A+   * Creates an ID3DXRenderToSurface object.=0A+  =
 * The refcount of the D3D device will be incremented here.=0A+   *=0A+   *=
 PARAMS=0A+   *   device          [I]  D3D device object=0A+   *   width   =
        [I]  width of the surface=0A+   *   height          [I]  height of =
the surface=0A+   *   format          [I]  format of the surface=0A+   *   =
stencil         [I]  wether the surface supports a depth buffer or not=0A+ =
  *   stencil_format  [I]  format of the depth buffer if stencil is true=0A=
+   *   rts             [O]  pointer to the RTS object=0A+   *=0A+   * RETU=
RNS=0A+   *   Success: D3D_OK=0A+   *   Failure: E_OUTOFMEMORY=0A+   *     =
       D3DERR_INVALIDCALL=0A+   *=0A+   * TODOS=0A+   *   Check if the nati=
ve interface supports multiple render targets=0A+   *         (which is unl=
ikely though as the native d3dx9 doesn't check for them in the Direct3D Cap=
s)=0A+   *=0A+   */=0A HRESULT WINAPI D3DXCreateRenderToSurface(LPDIRECT3DD=
EVICE9 device, UINT width, UINT height, D3DFORMAT format, BOOL stencil, D3D=
FORMAT stencil_format, LPD3DXRENDERTOSURFACE *rts)=0A {=0A     ID3DXRenderT=
oSurfaceImpl *object;=0A =0A-    FIXME("stub\n");=0A+    TRACE("(void): rel=
ay\n");=0A =0A-    object=3DHeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, s=
izeof(ID3DXRenderToSurfaceImpl));=0A+    if(rts=3D=3DNULL) return D3DERR_IN=
VALIDCALL;=0A+=0A+    object=3DHeapAlloc(GetProcessHeap(), HEAP_GROWABLE, s=
izeof(ID3DXRenderToSurfaceImpl));=0A     if(object=3D=3DNULL) {=0A         =
*rts=3DNULL;=0A         return E_OUTOFMEMORY;=0A     }=0A     object->lpVtb=
l=3D&D3DXRenderToSurface_Vtbl;=0A     object->ref=3D1;=0A+    object->devic=
e=3Ddevice;=0A+    IDirect3DDevice9_AddRef(object->device);=0A+    object->=
desc.Width=3Dwidth;=0A+    object->desc.Height=3Dheight;=0A+    object->des=
c.Format=3Dformat;=0A+    object->desc.DepthStencil=3Dstencil;=0A+    objec=
t->desc.DepthStencilFormat=3Dstencil_format;=0A+    object->target=3DNULL;=
=0A+    object->buffer=3DNULL;=0A+    object->stencil=3DNULL;=0A+    object=
->oldtarget=3DNULL;=0A+    object->oldstencil=3DNULL;=0A+    object->stateb=
lock=3DNULL;=0A =0A     *rts=3D(LPD3DXRENDERTOSURFACE)object;=0A =0A-- =0A1=
.5.3.7=0A=0A

--bb45d591816f98b3865f7db30e4c5e116--



More information about the wine-patches mailing list