Module: wine Branch: stable Commit: 2362c935aec407dff0c72c91caa387282b88c98b URL: https://source.winehq.org/git/wine.git/?a=commit;h=2362c935aec407dff0c72c91c...
Author: Akihiro Sagawa sagawa.aki@gmail.com Date: Thu Apr 2 00:13:45 2020 +0900
ddraw: Allow to create managed textures with DDSCAPS_TEXTURE|DDSCAPS_3DDEVICE caps.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48844 Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 62e13708d0cc01a4a9f613c077a680709bcc2e4c) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/ddraw/surface.c | 1 + dlls/ddraw/tests/ddraw4.c | 2 -- dlls/ddraw/tests/ddraw7.c | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index fda42f2982..e30ec6feef 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -6209,6 +6209,7 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
if (desc->ddsCaps.dwCaps2 & (DDSCAPS2_TEXTUREMANAGE | DDSCAPS2_D3DTEXTUREMANAGE)) { + wined3d_desc.bind_flags &= ~WINED3D_BIND_RENDER_TARGET; wined3d_desc.access = WINED3D_RESOURCE_ACCESS_GPU | WINED3D_RESOURCE_ACCESS_CPU | WINED3D_RESOURCE_ACCESS_MAP_R | WINED3D_RESOURCE_ACCESS_MAP_W; /* Managed textures have the system memory flag set. */ diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 511e68475a..86b05c743d 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -6212,10 +6212,8 @@ static void test_rt_caps(void) surface_desc.dwWidth = 640; surface_desc.dwHeight = 480; hr = IDirectDraw4_CreateSurface(ddraw, &surface_desc, &surface, NULL); - todo_wine_if(i == 10 || i == 11) ok(SUCCEEDED(hr), "Test %u: Failed to create surface with caps %#x and caps2 %#x, hr %#x.\n", i, test_data[i].caps_in, test_data[i].caps2_in, hr); - if (FAILED(hr)) continue;
memset(&surface_desc, 0, sizeof(surface_desc)); surface_desc.dwSize = sizeof(surface_desc); diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 1dd6d759a4..f2dc6acd67 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -5947,10 +5947,8 @@ static void test_rt_caps(void) surface_desc.dwWidth = 640; surface_desc.dwHeight = 480; hr = IDirectDraw7_CreateSurface(ddraw, &surface_desc, &surface, NULL); - todo_wine_if(i == 10 || i == 11) ok(SUCCEEDED(hr), "Test %u: Failed to create surface with caps %#x and caps2 %#x, hr %#x.\n", i, test_data[i].caps_in, test_data[i].caps2_in, hr); - if (FAILED(hr)) continue;
memset(&surface_desc, 0, sizeof(surface_desc)); surface_desc.dwSize = sizeof(surface_desc);