Commit 559229aa authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

ddraw: Move the location validation from CreateSurface() to ddraw_surface_create_texture().

parent 4b3db52b
...@@ -2814,7 +2814,6 @@ static HRESULT CreateSurface(struct ddraw *ddraw, DDSURFACEDESC2 *DDSD, ...@@ -2814,7 +2814,6 @@ static HRESULT CreateSurface(struct ddraw *ddraw, DDSURFACEDESC2 *DDSD,
struct ddraw_surface *object = NULL; struct ddraw_surface *object = NULL;
HRESULT hr; HRESULT hr;
DDSURFACEDESC2 desc2; DDSURFACEDESC2 desc2;
const DWORD sysvidmem = DDSCAPS_VIDEOMEMORY | DDSCAPS_SYSTEMMEMORY;
TRACE("ddraw %p, surface_desc %p, surface %p, outer_unknown %p.\n", ddraw, DDSD, surface, UnkOuter); TRACE("ddraw %p, surface_desc %p, surface %p, outer_unknown %p.\n", ddraw, DDSD, surface, UnkOuter);
...@@ -2870,13 +2869,6 @@ static HRESULT CreateSurface(struct ddraw *ddraw, DDSURFACEDESC2 *DDSD, ...@@ -2870,13 +2869,6 @@ static HRESULT CreateSurface(struct ddraw *ddraw, DDSURFACEDESC2 *DDSD,
return DDERR_INVALIDCAPS; return DDERR_INVALIDCAPS;
} }
/* This is a special case in ddrawex, but not allowed in ddraw. */
if ((DDSD->ddsCaps.dwCaps & sysvidmem) == sysvidmem)
{
WARN("Tried to create a surface in both system and video memory.\n");
return DDERR_INVALIDCAPS;
}
/* Modify some flags */ /* Modify some flags */
copy_to_surfacedesc2(&desc2, DDSD); copy_to_surfacedesc2(&desc2, DDSD);
......
...@@ -5608,6 +5608,14 @@ HRESULT ddraw_surface_create_texture(struct ddraw *ddraw, DDSURFACEDESC2 *desc, ...@@ -5608,6 +5608,14 @@ HRESULT ddraw_surface_create_texture(struct ddraw *ddraw, DDSURFACEDESC2 *desc,
DDRAW_dump_surface_desc(desc); DDRAW_dump_surface_desc(desc);
} }
/* This is a special case in ddrawex, but not allowed in ddraw. */
if ((desc->ddsCaps.dwCaps & (DDSCAPS_VIDEOMEMORY | DDSCAPS_SYSTEMMEMORY))
== (DDSCAPS_VIDEOMEMORY | DDSCAPS_SYSTEMMEMORY))
{
WARN("Tried to create a surface in both system and video memory.\n");
return DDERR_INVALIDCAPS;
}
if ((desc->ddsCaps.dwCaps2 & DDSCAPS2_CUBEMAP_ALLFACES) if ((desc->ddsCaps.dwCaps2 & DDSCAPS2_CUBEMAP_ALLFACES)
&& !(desc->ddsCaps.dwCaps2 & DDSCAPS2_CUBEMAP)) && !(desc->ddsCaps.dwCaps2 & DDSCAPS2_CUBEMAP))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment