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

buildbot at kegel.com buildbot at kegel.com
Tue Sep 6 13:16:19 CDT 2011


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

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


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


-------------- next part --------------
From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 1/5] wined3d: Implement wined3d_surface_flip() as a blit.
Message-Id: <1315329592-32277-1-git-send-email-hverbeet at codeweavers.com>
Date: Tue,  6 Sep 2011 19:19:48 +0200

This allows us to actually take the "override" parameter into account. Plain
back -> front flips will be detected in wined3d_surface_flip() and will still
be handled by wined3d_swapchain_present().
---
 dlls/wined3d/surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 706c70a..633517d 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -3807,7 +3807,7 @@ HRESULT CDECL wined3d_surface_flip(struct wined3d_surface *surface, struct wined
             return WINED3D_OK;
     }
 
-    return wined3d_swapchain_present(swapchain, NULL, NULL, swapchain->win_handle, NULL, 0);
+    return wined3d_surface_blt(surface, NULL, override, NULL, 0, NULL, WINED3DTEXF_POINT);
 }
 
 /* Do not call while under the GL lock. */
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 2/5] ddraw: Only explicitly initialize non-zero fields in ddraw_create_gdi_swapchain().
Message-Id: <1315329592-32277-2-git-send-email-hverbeet at codeweavers.com>
Date: Tue,  6 Sep 2011 19:19:49 +0200

Update ddraw_attach_d3d_device() for consistency.
---
 dlls/ddraw/ddraw.c |   18 ++----------------
 1 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index f1d7b37..b44ac9f 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2761,6 +2761,8 @@ static HRESULT ddraw_attach_d3d_device(IDirectDrawImpl *ddraw, IDirectDrawSurfac
     /* Store the future Render Target surface */
     ddraw->d3d_target = primary;
 
+    memset(&localParameters, 0, sizeof(localParameters));
+
     /* Use the surface description for the device parameters, not the device
      * settings. The application might render to an offscreen surface. */
     localParameters.BackBufferWidth = primary->surface_desc.dwWidth;
@@ -2768,17 +2770,9 @@ static HRESULT ddraw_attach_d3d_device(IDirectDrawImpl *ddraw, IDirectDrawSurfac
     localParameters.BackBufferFormat = PixelFormat_DD2WineD3D(&primary->surface_desc.u4.ddpfPixelFormat);
     localParameters.BackBufferCount = (primary->surface_desc.dwFlags & DDSD_BACKBUFFERCOUNT)
             ? primary->surface_desc.dwBackBufferCount : 0;
-    localParameters.MultiSampleType = WINED3DMULTISAMPLE_NONE;
-    localParameters.MultiSampleQuality = 0;
     localParameters.SwapEffect = WINED3DSWAPEFFECT_COPY;
     localParameters.hDeviceWindow = window;
     localParameters.Windowed = !(ddraw->cooperative_level & DDSCL_FULLSCREEN);
-    localParameters.EnableAutoDepthStencil = FALSE;
-    localParameters.AutoDepthStencilFormat = WINED3DFMT_UNKNOWN;
-    localParameters.Flags = 0;
-    localParameters.FullScreen_RefreshRateInHz = WINED3DPRESENT_RATE_DEFAULT;
-    localParameters.PresentationInterval = WINED3DPRESENT_INTERVAL_DEFAULT;
-    localParameters.AutoRestoreDisplayMode = FALSE;
 
     /* Set this NOW, otherwise creating the depth stencil surface will cause a
      * recursive loop until ram or emulated video memory is full. */
@@ -2823,17 +2817,9 @@ static HRESULT ddraw_create_gdi_swapchain(IDirectDrawImpl *ddraw, IDirectDrawSur
     presentation_parameters.BackBufferFormat = PixelFormat_DD2WineD3D(&primary->surface_desc.u4.ddpfPixelFormat);
     presentation_parameters.BackBufferCount = (primary->surface_desc.dwFlags & DDSD_BACKBUFFERCOUNT)
             ? primary->surface_desc.dwBackBufferCount : 0;
-    presentation_parameters.MultiSampleType = WINED3DMULTISAMPLE_NONE;
-    presentation_parameters.MultiSampleQuality = 0;
     presentation_parameters.SwapEffect = WINED3DSWAPEFFECT_FLIP;
     presentation_parameters.hDeviceWindow = window;
     presentation_parameters.Windowed = !(ddraw->cooperative_level & DDSCL_FULLSCREEN);
-    presentation_parameters.EnableAutoDepthStencil = FALSE; /* Not on GDI swapchains */
-    presentation_parameters.AutoDepthStencilFormat = 0;
-    presentation_parameters.Flags = 0;
-    presentation_parameters.FullScreen_RefreshRateInHz = WINED3DPRESENT_RATE_DEFAULT;
-    presentation_parameters.PresentationInterval = WINED3DPRESENT_INTERVAL_DEFAULT;
-    presentation_parameters.AutoRestoreDisplayMode = FALSE;
 
     ddraw->d3d_target = primary;
     hr = wined3d_device_init_gdi(ddraw->wined3d_device, &presentation_parameters);
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 3/5] ddraw: Set the swap effect to WINED3DSWAPEFFECT_COPY in ddraw_create_gdi_swapchain().
Message-Id: <1315329592-32277-3-git-send-email-hverbeet at codeweavers.com>
Date: Tue,  6 Sep 2011 19:19:50 +0200

The actual swapchain implementation ignores the swap effect and always does a
copy anyway, but this makes it consistent with ddraw_attach_d3d_device().
---
 dlls/ddraw/ddraw.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index b44ac9f..038ad18 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -2817,7 +2817,7 @@ static HRESULT ddraw_create_gdi_swapchain(IDirectDrawImpl *ddraw, IDirectDrawSur
     presentation_parameters.BackBufferFormat = PixelFormat_DD2WineD3D(&primary->surface_desc.u4.ddpfPixelFormat);
     presentation_parameters.BackBufferCount = (primary->surface_desc.dwFlags & DDSD_BACKBUFFERCOUNT)
             ? primary->surface_desc.dwBackBufferCount : 0;
-    presentation_parameters.SwapEffect = WINED3DSWAPEFFECT_FLIP;
+    presentation_parameters.SwapEffect = WINED3DSWAPEFFECT_COPY;
     presentation_parameters.hDeviceWindow = window;
     presentation_parameters.Windowed = !(ddraw->cooperative_level & DDSCL_FULLSCREEN);
 
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 4/5] wined3d: Make the device parameter to wined3d_device_get_viewport() const.
Message-Id: <1315329592-32277-4-git-send-email-hverbeet at codeweavers.com>
Date: Tue,  6 Sep 2011 19:19:51 +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 2660ee8..16faace 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -2465,7 +2465,7 @@ HRESULT CDECL wined3d_device_set_viewport(struct wined3d_device *device, const W
     return WINED3D_OK;
 }
 
-HRESULT CDECL wined3d_device_get_viewport(struct wined3d_device *device, WINED3DVIEWPORT *viewport)
+HRESULT CDECL wined3d_device_get_viewport(const struct wined3d_device *device, WINED3DVIEWPORT *viewport)
 {
     TRACE("device %p, viewport %p.\n", device, viewport);
 
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index c9f9edf..23e88d1 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2265,7 +2265,7 @@ HRESULT __cdecl wined3d_device_get_transform(const struct wined3d_device *device
 HRESULT __cdecl wined3d_device_get_vertex_declaration(struct wined3d_device *device,
         struct wined3d_vertex_declaration **declaration);
 struct wined3d_shader * __cdecl wined3d_device_get_vertex_shader(struct wined3d_device *device);
-HRESULT __cdecl wined3d_device_get_viewport(struct wined3d_device *device, WINED3DVIEWPORT *viewport);
+HRESULT __cdecl wined3d_device_get_viewport(const struct wined3d_device *device, WINED3DVIEWPORT *viewport);
 HRESULT __cdecl wined3d_device_get_vs_consts_b(struct wined3d_device *device,
         UINT start_register, BOOL *constants, UINT bool_count);
 HRESULT __cdecl wined3d_device_get_vs_consts_f(struct wined3d_device *device,
-- 
1.7.3.4

From: Henri Verbeet <hverbeet at codeweavers.com>
Subject: [PATCH 5/5] wined3d: Make the device parameter to wined3d_device_get_render_state() const.
Message-Id: <1315329592-32277-5-git-send-email-hverbeet at codeweavers.com>
Date: Tue,  6 Sep 2011 19:19:52 +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 16faace..4a8b5c6 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -2500,7 +2500,7 @@ HRESULT CDECL wined3d_device_set_render_state(struct wined3d_device *device,
     return WINED3D_OK;
 }
 
-HRESULT CDECL wined3d_device_get_render_state(struct wined3d_device *device,
+HRESULT CDECL wined3d_device_get_render_state(const struct wined3d_device *device,
         WINED3DRENDERSTATETYPE state, DWORD *value)
 {
     TRACE("device %p, state %s (%#x), value %p.\n", device, debug_d3drenderstate(state), state, value);
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 23e88d1..2039398 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2239,7 +2239,7 @@ HRESULT __cdecl wined3d_device_get_ps_consts_i(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);
-HRESULT __cdecl wined3d_device_get_render_state(struct wined3d_device *device,
+HRESULT __cdecl wined3d_device_get_render_state(const struct wined3d_device *device,
         WINED3DRENDERSTATETYPE state, DWORD *value);
 HRESULT __cdecl wined3d_device_get_render_target(struct wined3d_device *device,
         UINT render_target_idx, struct wined3d_surface **render_target);
-- 
1.7.3.4



More information about the wine-tests-results mailing list