78869: Subject: [PATCH 5/5] wined3d: Make the device parameter to wined3d_device_get_ps_consts_i() const.

buildbot at kegel.com buildbot at kegel.com
Wed Sep 14 13:46:26 CDT 2011


This is an experimental automated build and test service.
Please feel free to ignore this email while we work the kinks out.

For more info about this message, see http://wiki.winehq.org/BuildBot

The Buildbot has detected a failed build on builder runtests-default while building Wine.
Full details are available at: http://buildbot.kegel.com/builders/runtests-default/builds/67 (though maybe not for long, as I'm still reinstalling the buildbot periodically while experimenting)
BUILD FAILED: failed shell_3

Errors:
action.c:4792: Test failed: The 'Spooler' service does not exist
make: *** [action.ok] Error 1

-------------- next part --------------
From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 1/5] ddraw: Get rid of the surfaces field in IDirectDrawImpl.
Message-Id: <1316024252-7935-1-git-send-email-hverbeet at codeweavers.com>
Date: Wed, 14 Sep 2011 20:17:28 +0200

---
 dlls/ddraw/ddraw.c         |    1 -
 dlls/ddraw/ddraw_private.h |    1 -
 dlls/ddraw/main.c          |    5 ++---
 dlls/ddraw/surface.c       |    1 -
 4 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index f981cf5..53230cb 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2633,7 +2633,6 @@ static HRESULT ddraw_create_surface(IDirectDrawImpl *This, DDSURFACEDESC2 *pDDSD
     }
 
     /* Increase the surface counter, and attach the surface */
-    InterlockedIncrement(&This->surfaces);
     list_add_head(&This->surface_list, &(*ppSurf)->surface_list_entry);
 
     TRACE("Created surface %p.\n", *ppSurf);
diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index e0706fc..7737b12 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -114,7 +114,6 @@ struct IDirectDrawImpl
      * because of IParent
      */
     struct list surface_list;
-    LONG surfaces;
 
     /* FVF management */
     struct FvfToDecl       *decls;
diff --git a/dlls/ddraw/main.c b/dlls/ddraw/main.c
index 38f4814..b3c19e7 100644
--- a/dlls/ddraw/main.c
+++ b/dlls/ddraw/main.c
@@ -960,9 +960,8 @@ DllMain(HINSTANCE hInstDLL,
                         ERR("(%p) EnumSurfaces failed, prepare for trouble\n", ddraw);
                 }
 
-                /* Check the surface count */
-                if(ddraw->surfaces > 0)
-                    ERR("DDraw %p still has %d surfaces attached\n", ddraw, ddraw->surfaces);
+                if (!list_empty(&ddraw->surface_list))
+                    ERR("DDraw %p still has surfaces attached.\n", ddraw);
 
                 /* Release all hanging references to destroy the objects. This
                     * restores the screen mode too
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 10d9dc4..1b6d6ff 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -5098,7 +5098,6 @@ static void STDMETHODCALLTYPE ddraw_surface_wined3d_object_destroyed(void *paren
         ddraw_free_handle(&surface->ddraw->d3ddevice->handle_table, surface->Handle - 1, DDRAW_HANDLE_SURFACE);
 
     /* Reduce the ddraw surface count. */
-    InterlockedDecrement(&surface->ddraw->surfaces);
     list_remove(&surface->surface_list_entry);
 
     HeapFree(GetProcessHeap(), 0, surface);
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 2/5] ddraw: Get rid of some unused macros.
Message-Id: <1316024252-7935-2-git-send-email-hverbeet at codeweavers.com>
Date: Wed, 14 Sep 2011 20:17:29 +0200

---
 dlls/ddraw/ddraw_private.h |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/dlls/ddraw/ddraw_private.h b/dlls/ddraw/ddraw_private.h
index 7737b12..9721915 100644
--- a/dlls/ddraw/ddraw_private.h
+++ b/dlls/ddraw/ddraw_private.h
@@ -242,10 +242,6 @@ IDirectDrawSurfaceImpl *unsafe_impl_from_IDirectDrawSurface7(IDirectDrawSurface7
 IDirectDrawSurfaceImpl *unsafe_impl_from_IDirect3DTexture(IDirect3DTexture *iface) DECLSPEC_HIDDEN;
 IDirectDrawSurfaceImpl *unsafe_impl_from_IDirect3DTexture2(IDirect3DTexture2 *iface) DECLSPEC_HIDDEN;
 
-/* Get the number of bytes per pixel for a given surface */
-#define PFGET_BPP(pf) (pf.dwFlags&DDPF_PALETTEINDEXED8?1:((pf.dwRGBBitCount+7)/8))
-#define GET_BPP(desc) PFGET_BPP(desc.ddpfPixelFormat)
-
 #define DDRAW_INVALID_HANDLE ~0U
 
 enum ddraw_handle_type
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 3/5] wined3d: Flush after surface updates.
Message-Id: <1316024252-7935-3-git-send-email-hverbeet at codeweavers.com>
Date: Wed, 14 Sep 2011 20:17:30 +0200

This is similar to 5d1d07abcf3deab4397a0008ae8c44493a721c6a. We need to flush
to ensure resource updates are visible in other contexts, since otherwise GL
doesn't make any ordering guarantees between contexts.
---
 dlls/wined3d/surface.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 9116f5f..22f194a 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2436,6 +2436,9 @@ void surface_upload_data(const struct wined3d_surface *surface, const struct win
 
     LEAVE_GL();
 
+    if (wined3d_settings.strict_draw_ordering)
+        wglFlush();
+
     if (gl_info->quirks & WINED3D_QUIRK_FBO_TEX_UPDATE)
     {
         struct wined3d_device *device = surface->resource.device;
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 4/5] wined3d: Make the device parameter to wined3d_device_get_ps_consts_b() const.
Message-Id: <1316024252-7935-4-git-send-email-hverbeet at codeweavers.com>
Date: Wed, 14 Sep 2011 20:17:31 +0200

---
 dlls/wined3d/device.c  |    2 +-
 include/wine/wined3d.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index bb4969c..0bcdf8d 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3117,7 +3117,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_b(struct wined3d_device *device,
     return WINED3D_OK;
 }
 
-HRESULT CDECL wined3d_device_get_ps_consts_b(struct wined3d_device *device,
+HRESULT CDECL wined3d_device_get_ps_consts_b(const struct wined3d_device *device,
         UINT start_register, BOOL *constants, UINT bool_count)
 {
     UINT count = min(bool_count, MAX_CONST_B - start_register);
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 940246c..f439f73 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2231,7 +2231,7 @@ HRESULT __cdecl wined3d_device_get_palette_entries(struct wined3d_device *device
         UINT palette_idx, PALETTEENTRY *entries);
 struct wined3d_shader * __cdecl wined3d_device_get_pixel_shader(const struct wined3d_device *device);
 void __cdecl wined3d_device_get_primitive_type(struct wined3d_device *device, WINED3DPRIMITIVETYPE *primitive_topology);
-HRESULT __cdecl wined3d_device_get_ps_consts_b(struct wined3d_device *device,
+HRESULT __cdecl wined3d_device_get_ps_consts_b(const struct wined3d_device *device,
         UINT start_register, BOOL *constants, UINT bool_count);
 HRESULT __cdecl wined3d_device_get_ps_consts_f(struct wined3d_device *device,
         UINT start_register, float *constants, UINT vector4f_count);
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 5/5] wined3d: Make the device parameter to wined3d_device_get_ps_consts_i() const.
Message-Id: <1316024252-7935-5-git-send-email-hverbeet at codeweavers.com>
Date: Wed, 14 Sep 2011 20:17:32 +0200

---
 dlls/wined3d/device.c  |    2 +-
 include/wine/wined3d.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 0bcdf8d..ed43810 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -3160,7 +3160,7 @@ HRESULT CDECL wined3d_device_set_ps_consts_i(struct wined3d_device *device,
     return WINED3D_OK;
 }
 
-HRESULT CDECL wined3d_device_get_ps_consts_i(struct wined3d_device *device,
+HRESULT CDECL wined3d_device_get_ps_consts_i(const struct wined3d_device *device,
         UINT start_register, int *constants, UINT vector4i_count)
 {
     UINT count = min(vector4i_count, MAX_CONST_I - start_register);
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index f439f73..6c31e14 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2235,7 +2235,7 @@ HRESULT __cdecl wined3d_device_get_ps_consts_b(const struct wined3d_device *devi
         UINT start_register, BOOL *constants, UINT bool_count);
 HRESULT __cdecl wined3d_device_get_ps_consts_f(struct wined3d_device *device,
         UINT start_register, float *constants, UINT vector4f_count);
-HRESULT __cdecl wined3d_device_get_ps_consts_i(struct wined3d_device *device,
+HRESULT __cdecl wined3d_device_get_ps_consts_i(const struct wined3d_device *device,
         UINT start_register, int *constants, UINT vector4i_count);
 HRESULT __cdecl wined3d_device_get_raster_status(struct wined3d_device *device,
         UINT swapchain_idx, WINED3DRASTER_STATUS *raster_status);
-- 
1.7.3.4



More information about the wine-tests-results mailing list