Module: wine Branch: master Commit: 9fbc90b8e3763eef9d5bdb8de85276b4573d694e URL: http://source.winehq.org/git/wine.git/?a=commit;h=9fbc90b8e3763eef9d5bdb8de8...
Author: Stefan Dösinger stefan@codeweavers.com Date: Mon Aug 26 02:01:30 2013 +0200
wined3d: UpdateTexture requires a sysmem source and default destination.
---
dlls/wined3d/device.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index a0db7c7..79a957b 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -4131,9 +4131,14 @@ HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device, return WINED3DERR_INVALIDCALL; }
- if (src_texture == dst_texture) + if (src_texture->resource.pool != WINED3D_POOL_SYSTEM_MEM) { - WARN("Source and destination are the same object, returning WINED3DERR_INVALIDCALL.\n"); + WARN("Source texture not in WINED3D_POOL_SYSTEM_MEM, returning WINED3DERR_INVALIDCALL.\n"); + return WINED3DERR_INVALIDCALL; + } + if (dst_texture->resource.pool != WINED3D_POOL_DEFAULT) + { + WARN("Destination texture not in WINED3D_POOL_DEFAULT, returning WINED3DERR_INVALIDCALL.\n"); return WINED3DERR_INVALIDCALL; }