From 3542c9c4d5b42568c23d76698b87dd6382ca23b6 Mon Sep 17 00:00:00 2001 From: Lionel Ulmer Date: Mon, 23 Dec 2002 02:10:31 +0000 Subject: [PATCH] - fix mipmap texture creation - some logging improvements --- dlls/ddraw/d3dtexture.c | 7 ++++--- dlls/ddraw/ddraw/main.c | 2 +- dlls/ddraw/dsurface/dib.c | 16 ++++++++-------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/dlls/ddraw/d3dtexture.c b/dlls/ddraw/d3dtexture.c index 25b9bc055c3..13dd7bff156 100644 --- a/dlls/ddraw/d3dtexture.c +++ b/dlls/ddraw/d3dtexture.c @@ -791,10 +791,11 @@ HRESULT d3dtexture_create(IDirect3DImpl *d3d, IDirectDrawSurfaceImpl *surf, BOOL if (mipmap_level == 0) { glGenTextures(1, &(private->tex_name)); if (private->tex_name == 0) ERR("Error at creation of OpenGL texture ID !\n"); - TRACE(" GL texture created (private data at %p and GL id %d).\n", private, private->tex_name); + TRACE(" GL texture created for surface %p (private data at %p and GL id %d).\n", surf, private, private->tex_name); } else { - private->tex_name = ((IDirect3DTextureGLImpl *) main->tex_private)->tex_name; - TRACE(" GL texture created (private data at %p and GL id reusing id %d).\n", private, private->tex_name); + private->tex_name = ((IDirect3DTextureGLImpl *) (main->tex_private))->tex_name; + TRACE(" GL texture created for surface %p (private data at %p and GL id reusing id %d from surface %p (%p)).\n", + surf, private, private->tex_name, main, main->tex_private); } if ((at_creation == FALSE) && diff --git a/dlls/ddraw/ddraw/main.c b/dlls/ddraw/ddraw/main.c index 8c099b848b1..ead52a99b6a 100644 --- a/dlls/ddraw/ddraw/main.c +++ b/dlls/ddraw/ddraw/main.c @@ -397,7 +397,7 @@ create_texture(IDirectDrawImpl* This, const DDSURFACEDESC2 *pDDSD, IDirectDrawSurface7_Release(*ppSurf); return hr; } - if (This->d3d) This->d3d->create_texture(This->d3d, ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, *ppSurf), TRUE, + if (This->d3d) This->d3d->create_texture(This->d3d, ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, mipmap), TRUE, ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, *ppSurf), mipmap_level); IDirectDrawSurface7_AddAttachedSurface(prev_mipmap, mipmap); diff --git a/dlls/ddraw/dsurface/dib.c b/dlls/ddraw/dsurface/dib.c index 983af93eeda..82cebf4fc2f 100644 --- a/dlls/ddraw/dsurface/dib.c +++ b/dlls/ddraw/dsurface/dib.c @@ -354,14 +354,6 @@ DIB_DirectDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst, TRACE("(%p)->(%p,%p,%p,%08lx,%p)\n", This,rdst,src,rsrc,dwFlags,lpbltfx); - DD_STRUCT_INIT(&ddesc); - DD_STRUCT_INIT(&sdesc); - - sdesc.dwSize = sizeof(sdesc); - if (src) IDirectDrawSurface7_Lock(src, NULL, &sdesc, DDLOCK_READONLY, 0); - ddesc.dwSize = sizeof(ddesc); - IDirectDrawSurface7_Lock(iface,NULL,&ddesc,DDLOCK_WRITEONLY,0); - if (TRACE_ON(ddraw)) { if (rdst) TRACE("\tdestrect :%dx%d-%dx%d\n",rdst->left,rdst->top,rdst->right,rdst->bottom); if (rsrc) TRACE("\tsrcrect :%dx%d-%dx%d\n",rsrc->left,rsrc->top,rsrc->right,rsrc->bottom); @@ -373,6 +365,14 @@ DIB_DirectDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst, } } + DD_STRUCT_INIT(&ddesc); + DD_STRUCT_INIT(&sdesc); + + sdesc.dwSize = sizeof(sdesc); + if (src) IDirectDrawSurface7_Lock(src, NULL, &sdesc, DDLOCK_READONLY, 0); + ddesc.dwSize = sizeof(ddesc); + IDirectDrawSurface7_Lock(iface,NULL,&ddesc,DDLOCK_WRITEONLY,0); + if (rdst) { memcpy(&xdst,rdst,sizeof(xdst)); } else { -- 2.11.4.GIT