mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-15 07:44:47 +00:00
ddraw: Move the wined3d_texture_update_desc() call into ddraw_surface_create_wined3d_texture().
This commit is contained in:
parent
b15339d470
commit
eea1b79e24
|
@ -6017,6 +6017,7 @@ static HRESULT ddraw_surface_create_wined3d_texture(struct ddraw *ddraw,
|
||||||
struct wined3d_texture *draw_texture = NULL;
|
struct wined3d_texture *draw_texture = NULL;
|
||||||
struct ddraw_surface *parent;
|
struct ddraw_surface *parent;
|
||||||
unsigned int bind_flags;
|
unsigned int bind_flags;
|
||||||
|
unsigned int pitch = 0;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
|
@ -6041,6 +6042,8 @@ static HRESULT ddraw_surface_create_wined3d_texture(struct ddraw *ddraw,
|
||||||
WARN("Invalid pitch %lu specified.\n", desc->u1.lPitch);
|
WARN("Invalid pitch %lu specified.\n", desc->u1.lPitch);
|
||||||
return DDERR_INVALIDPARAMS;
|
return DDERR_INVALIDPARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pitch = desc->u1.lPitch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6112,6 +6115,14 @@ static HRESULT ddraw_surface_create_wined3d_texture(struct ddraw *ddraw,
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((desc->dwFlags & DDSD_LPSURFACE) && FAILED(hr = wined3d_texture_update_desc(*wined3d_texture, 0,
|
||||||
|
wined3d_desc->width, wined3d_desc->height, wined3d_desc->format,
|
||||||
|
WINED3D_MULTISAMPLE_NONE, 0, desc->lpSurface, pitch)))
|
||||||
|
{
|
||||||
|
ERR("Failed to set surface memory, hr %#lx.\n", hr);
|
||||||
|
return hr;
|
||||||
|
}
|
||||||
|
|
||||||
wined3d_texture_decref(*wined3d_texture);
|
wined3d_texture_decref(*wined3d_texture);
|
||||||
|
|
||||||
TRACE("Surface %p, created draw_texture %p, wined3d_texture %p.\n",
|
TRACE("Surface %p, created draw_texture %p, wined3d_texture %p.\n",
|
||||||
|
@ -6132,7 +6143,6 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
|
||||||
struct ddraw_texture *texture;
|
struct ddraw_texture *texture;
|
||||||
BOOL sysmem_fallback = FALSE;
|
BOOL sysmem_fallback = FALSE;
|
||||||
unsigned int layers = 1;
|
unsigned int layers = 1;
|
||||||
unsigned int pitch = 0;
|
|
||||||
BOOL reserve_memory;
|
BOOL reserve_memory;
|
||||||
UINT levels, i, j;
|
UINT levels, i, j;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
@ -6579,8 +6589,6 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
|
||||||
heap_free(texture);
|
heap_free(texture);
|
||||||
return DDERR_INVALIDPARAMS;
|
return DDERR_INVALIDPARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
pitch = desc->u1.lPitch;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6706,14 +6714,6 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((desc->dwFlags & DDSD_LPSURFACE) && FAILED(hr = wined3d_texture_update_desc(wined3d_texture, 0,
|
|
||||||
wined3d_desc.width, wined3d_desc.height, wined3d_desc.format,
|
|
||||||
WINED3D_MULTISAMPLE_NONE, 0, desc->lpSurface, pitch)))
|
|
||||||
{
|
|
||||||
ERR("Failed to set surface memory, hr %#lx.\n", hr);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
reserve_memory = !(desc->dwFlags & DDSD_LPSURFACE)
|
reserve_memory = !(desc->dwFlags & DDSD_LPSURFACE)
|
||||||
&& desc->ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY
|
&& desc->ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY
|
||||||
&& wined3d_display_mode_format.u1.dwRGBBitCount <= 16;
|
&& wined3d_display_mode_format.u1.dwRGBBitCount <= 16;
|
||||||
|
|
Loading…
Reference in a new issue