[PATCH 4/5] ddraw: Set the cube map flags for the root surface in ddraw_surface_create_texture() as well.

Henri Verbeet hverbeet at codeweavers.com
Thu Nov 14 03:47:18 CST 2013


---
 dlls/ddraw/ddraw.c   |    7 -------
 dlls/ddraw/surface.c |    7 +++----
 2 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index be39178..8891ed6 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -3060,13 +3060,6 @@ static HRESULT CreateSurface(struct ddraw *ddraw, DDSURFACEDESC2 *DDSD,
         desc2.ddsCaps.dwCaps |= DDSCAPS_FRONTBUFFER;
     }
 
-    /* The root surface in a cube map is positive x */
-    if(desc2.ddsCaps.dwCaps2 & DDSCAPS2_CUBEMAP)
-    {
-        desc2.ddsCaps.dwCaps2 &= ~DDSCAPS2_CUBEMAP_ALLFACES;
-        desc2.ddsCaps.dwCaps2 |=  DDSCAPS2_CUBEMAP_POSITIVEX;
-    }
-
     if ((desc2.ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE) && (ddraw->cooperative_level & DDSCL_EXCLUSIVE))
     {
         struct wined3d_swapchain_desc swapchain_desc;
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 59abb6b..cad449c 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -5744,10 +5744,6 @@ HRESULT ddraw_surface_create_texture(struct ddraw *ddraw, DDSURFACEDESC2 *desc,
         {
             resource = wined3d_texture_get_sub_resource(wined3d_texture, i * levels + j);
             mip = wined3d_resource_get_parent(resource);
-
-            if (mip == root)
-                continue;
-
             mip_desc = &mip->surface_desc;
 
             if (j)
@@ -5783,6 +5779,9 @@ HRESULT ddraw_surface_create_texture(struct ddraw *ddraw, DDSURFACEDESC2 *desc,
 
             }
 
+            if (mip == root)
+                continue;
+
             *attach = mip;
             attach = &mip->complex_array[0];
         }
-- 
1.7.10.4




More information about the wine-patches mailing list