Akihiro Sagawa : ddraw: Allow to create managed textures with DDSCAPS_TEXTURE|DDSCAPS_3DDEVICE caps.

Alexandre Julliard julliard at winehq.org
Thu Apr 2 14:27:36 CDT 2020


Module: wine
Branch: master
Commit: 62e13708d0cc01a4a9f613c077a680709bcc2e4c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=62e13708d0cc01a4a9f613c077a680709bcc2e4c

Author: Akihiro Sagawa <sagawa.aki at 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 at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 3f737d1294..20143891d3 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -6252,6 +6252,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 6c79f70845..7c53c7e2e9 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -6231,10 +6231,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 34ac5935fb..9e50c1a7bc 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -5968,10 +5968,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);




More information about the wine-cvs mailing list