Large diffs are not rendered by default.

@@ -1,4 +1,4 @@
From 4aad31fd3b9d3949b86cc73e4b4b5f98cce42ea2 Mon Sep 17 00:00:00 2001
From 0d24fc66a870c629094b145ba89ef41389f8e3be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Sat, 4 Jan 2014 00:53:47 +0100
Subject: wined3d: Remove surface_validate_location.
@@ -7,16 +7,16 @@ Subject: wined3d: Remove surface_validate_location.
dlls/wined3d/arb_program_shader.c | 2 +-
dlls/wined3d/device.c | 4 ++--
dlls/wined3d/surface.c | 31 ++++++++++++-------------------
dlls/wined3d/swapchain.c | 4 ++--
dlls/wined3d/swapchain.c | 8 ++++----
dlls/wined3d/texture.c | 4 +---
dlls/wined3d/wined3d_private.h | 1 -
6 files changed, 18 insertions(+), 28 deletions(-)
6 files changed, 20 insertions(+), 30 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 7731230..78f24cd 100644
index 90f2183..60d2560 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -7902,7 +7902,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, enum wined3d_blit_
@@ -7918,7 +7918,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, enum wined3d_blit_

context_release(context);

@@ -26,7 +26,7 @@ index 7731230..78f24cd 100644
}

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 7c9e96d..613235d 100644
index 5e37a2d..ff02a32 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -398,7 +398,7 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
@@ -38,7 +38,7 @@ index 7c9e96d..613235d 100644
surface_invalidate_location(rt, ~rt->container->resource.draw_binding);
}
}
@@ -4124,7 +4124,7 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
@@ -4114,7 +4114,7 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str

context_release(context);

@@ -48,10 +48,10 @@ index 7c9e96d..613235d 100644
}

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index ea601ff..516b50f1 100644
index dd5c469..a955902 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -1134,14 +1134,14 @@ static void surface_unload(struct wined3d_resource *resource)
@@ -1140,14 +1140,14 @@ static void surface_unload(struct wined3d_resource *resource)
* and all flags get lost */
if (resource->usage & WINED3DUSAGE_DEPTHSTENCIL)
{
@@ -68,7 +68,7 @@ index ea601ff..516b50f1 100644
surface_invalidate_location(surface, ~WINED3D_LOCATION_SYSMEM);
}
}
@@ -1677,7 +1677,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
@@ -1686,7 +1686,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P

context_release(context);

@@ -77,7 +77,7 @@ index ea601ff..516b50f1 100644
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);

return WINED3D_OK;
@@ -2115,7 +2115,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
@@ -1961,7 +1961,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
valid_location = WINED3D_LOCATION_SYSMEM;
}

@@ -86,7 +86,7 @@ index ea601ff..516b50f1 100644

return WINED3D_OK;
}
@@ -2662,7 +2662,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
@@ -2503,7 +2503,7 @@ HRESULT wined3d_surface_map(struct wined3d_surface *surface, struct wined3d_map_
{
TRACE("WINED3D_MAP_DISCARD flag passed, marking %s as up to date.\n",
wined3d_debug_location(surface->resource.map_binding));
@@ -95,7 +95,7 @@ index ea601ff..516b50f1 100644
}
else
{
@@ -3144,7 +3144,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
@@ -2917,7 +2917,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc

/* The texture is now most up to date - If the surface is a render target
* and has a drawable, this path is never entered. */
@@ -104,7 +104,7 @@ index ea601ff..516b50f1 100644
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
}

@@ -3417,7 +3417,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
@@ -3190,7 +3190,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st

/* The texture is now most up to date - If the surface is a render target
* and has a drawable, this path is never entered. */
@@ -113,7 +113,7 @@ index ea601ff..516b50f1 100644
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
}

@@ -3895,13 +3895,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
@@ -3685,13 +3685,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
surface->ds_current_size.cy = surface->resource.height;
}

@@ -127,7 +127,7 @@ index ea601ff..516b50f1 100644
void surface_invalidate_location(struct wined3d_surface *surface, DWORD location)
{
TRACE("surface %p, location %s.\n", surface, wined3d_debug_location(location));
@@ -4296,7 +4289,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
@@ -4086,7 +4079,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
break;
}

@@ -136,7 +136,7 @@ index ea601ff..516b50f1 100644

if (location != WINED3D_LOCATION_SYSMEM && (surface->resource.locations & WINED3D_LOCATION_SYSMEM))
surface_evict_sysmem(surface);
@@ -4479,7 +4472,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, enum wined3d_bl
@@ -4250,7 +4243,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, enum wined3d_bl
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT,
(old_color_key_flags & WINED3D_CKEY_SRC_BLT) ? &old_blt_key : NULL);

@@ -145,7 +145,7 @@ index ea601ff..516b50f1 100644
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
}

@@ -5456,7 +5449,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
@@ -5204,7 +5197,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
dst_surface, dst_surface->container->resource.draw_binding, dst_rect);
context_release(context);

@@ -154,7 +154,7 @@ index ea601ff..516b50f1 100644
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);

return WINED3D_OK;
@@ -5543,7 +5536,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
@@ -5291,7 +5284,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
}

surface->container = container;
@@ -163,7 +163,7 @@ index ea601ff..516b50f1 100644
list_init(&surface->renderbuffers);
list_init(&surface->overlays);

@@ -5575,7 +5568,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
@@ -5323,7 +5316,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
if (surface->resource.map_binding == WINED3D_LOCATION_DIB)
{
wined3d_resource_free_sysmem(&surface->resource);
@@ -173,10 +173,28 @@ index ea601ff..516b50f1 100644
}

diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 7728cdc..a97d1f7 100644
index 3fe5d71..8ee0f82 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -570,7 +570,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
@@ -452,7 +452,7 @@ static void wined3d_swapchain_rotate(struct wined3d_swapchain *swapchain, struct
swapchain->back_buffers[i - 1]->texture_rgb = swapchain->back_buffers[i]->texture_rgb;
surface_prev->rb_multisample = surface->rb_multisample;

- surface_validate_location(surface_prev, surface->resource.locations & supported_locations);
+ wined3d_resource_validate_location(&surface_prev->resource, surface->resource.locations & supported_locations);
surface_invalidate_location(surface_prev, ~(surface->resource.locations & supported_locations));

surface_prev = surface;
@@ -461,7 +461,7 @@ static void wined3d_swapchain_rotate(struct wined3d_swapchain *swapchain, struct
swapchain->back_buffers[i - 1]->texture_rgb = tex0;
surface_prev->rb_multisample = rb0;

- surface_validate_location(surface_prev, locations0 & supported_locations);
+ wined3d_resource_validate_location(&surface_prev->resource, locations0 & supported_locations);
surface_invalidate_location(surface_prev, ~(locations0 & supported_locations));

device_invalidate_state(swapchain->device, STATE_FRAMEBUFFER);
@@ -617,7 +617,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT

front = surface_from_resource(wined3d_texture_get_sub_resource(swapchain->front_buffer, 0));

@@ -185,7 +203,7 @@ index 7728cdc..a97d1f7 100644
surface_invalidate_location(front, ~WINED3D_LOCATION_DRAWABLE);
/* If the swapeffect is DISCARD, the back buffer is undefined. That means the SYSMEM
* and INTEXTURE copies can keep their old content if they have any defined content.
@@ -843,7 +843,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
@@ -890,7 +890,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
front_buffer = surface_from_resource(wined3d_texture_get_sub_resource(swapchain->front_buffer, 0));
if (!(device->wined3d->flags & WINED3D_NO3D))
{
@@ -195,10 +213,10 @@ index 7728cdc..a97d1f7 100644
}

diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 093cc56..40b668c 100644
index 14d5645..8c8d098 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -795,9 +795,7 @@ static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *
@@ -835,9 +835,7 @@ static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *

static void texture2d_sub_resource_validate_location(struct wined3d_resource *sub_resource, DWORD location)
{
@@ -210,10 +228,10 @@ index 093cc56..40b668c 100644

static void texture2d_sub_resource_upload_data(struct wined3d_resource *sub_resource,
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index f03e8a1..d912668 100644
index 1113eaa..e0ff3b1 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2505,7 +2505,6 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
@@ -2594,7 +2594,6 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
const struct wined3d_gl_info *gl_info, void *mem, unsigned int pitch) DECLSPEC_HIDDEN;
HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const POINT *dst_point,
struct wined3d_surface *src_surface, const RECT *src_rect) DECLSPEC_HIDDEN;
@@ -222,5 +240,5 @@ index f03e8a1..d912668 100644
GLenum target, unsigned int level, unsigned int layer, DWORD flags,
struct wined3d_surface **surface) DECLSPEC_HIDDEN;
--
2.7.0
2.7.1

File renamed without changes.
File renamed without changes.
@@ -1,4 +1,4 @@
From 03998dcf5391b8b5da7b8cecbfe2ac6b82c77502 Mon Sep 17 00:00:00 2001
From 17d147ac91bdf126f87fea0e4da5365fba35dd63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Sat, 4 Jan 2014 01:02:15 +0100
Subject: wined3d: Remove surface_invalidate_location.
@@ -9,10 +9,10 @@ Subject: wined3d: Remove surface_invalidate_location.
dlls/wined3d/device.c | 4 ++--
dlls/wined3d/drawprim.c | 2 +-
dlls/wined3d/surface.c | 43 ++++++++++++++++-----------------------
dlls/wined3d/swapchain.c | 6 +++---
dlls/wined3d/swapchain.c | 10 ++++-----
dlls/wined3d/texture.c | 10 ++++-----
dlls/wined3d/wined3d_private.h | 1 -
8 files changed, 29 insertions(+), 41 deletions(-)
8 files changed, 31 insertions(+), 43 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 60d2560..eb09795 100644
@@ -28,10 +28,10 @@ index 60d2560..eb09795 100644

static HRESULT arbfp_blit_color_fill(struct wined3d_device *device, struct wined3d_rendertarget_view *view,
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index 490c20f..9408cd9 100644
index d0deff9..6ff5f4a 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -3322,7 +3322,7 @@ static void context_setup_target(struct wined3d_context *context, struct wined3d
@@ -3443,7 +3443,7 @@ static void context_setup_target(struct wined3d_context *context, struct wined3d
if (texture->texture_srgb.name)
wined3d_texture_load(texture, context, TRUE);
wined3d_texture_load(texture, context, FALSE);
@@ -41,7 +41,7 @@ index 490c20f..9408cd9 100644
}

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 3cfff6e..1f061fd 100644
index d4c0009..300a903 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -399,7 +399,7 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
@@ -53,7 +53,7 @@ index 3cfff6e..1f061fd 100644
}
}

@@ -4140,7 +4140,7 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
@@ -4115,7 +4115,7 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str
context_release(context);

wined3d_resource_validate_location(&surface->resource, WINED3D_LOCATION_TEXTURE_RGB);
@@ -76,10 +76,10 @@ index 75489db..9ba6ef7 100644
else
{
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index c4b9cac..b292adc 100644
index 9712d63..babc5fd 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -597,7 +597,7 @@ static void surface_evict_sysmem(struct wined3d_surface *surface)
@@ -585,7 +585,7 @@ static void surface_evict_sysmem(struct wined3d_surface *surface)
return;

wined3d_resource_free_sysmem(&surface->resource);
@@ -88,7 +88,7 @@ index c4b9cac..b292adc 100644
}

static BOOL surface_use_pbo(const struct wined3d_surface *surface)
@@ -1111,7 +1111,7 @@ static void surface_remove_pbo(struct wined3d_surface *surface, const struct win
@@ -1093,7 +1093,7 @@ static void surface_remove_pbo(struct wined3d_surface *surface, const struct win
checkGLcall("glDeleteBuffers(1, &surface->pbo)");

surface->pbo = 0;
@@ -97,7 +97,7 @@ index c4b9cac..b292adc 100644
}

static ULONG surface_resource_incref(struct wined3d_resource *resource)
@@ -1159,21 +1159,21 @@ static void surface_unload(struct wined3d_resource *resource)
@@ -1141,21 +1141,21 @@ static void surface_unload(struct wined3d_resource *resource)
if (resource->usage & WINED3DUSAGE_DEPTHSTENCIL)
{
wined3d_resource_validate_location(&surface->resource, WINED3D_LOCATION_DISCARDED);
@@ -122,7 +122,7 @@ index c4b9cac..b292adc 100644
}

/* Destroy PBOs, but load them into real sysmem before */
@@ -1224,7 +1224,10 @@ static HRESULT surface_resource_sub_resource_unmap(struct wined3d_resource *reso
@@ -1209,7 +1209,10 @@ static HRESULT surface_resource_sub_resource_unmap(struct wined3d_resource *reso

static void wined3d_surface_location_invalidated(struct wined3d_resource *resource, DWORD location)
{
@@ -134,7 +134,7 @@ index c4b9cac..b292adc 100644
}

static const struct wined3d_resource_ops surface_resource_ops =
@@ -1708,7 +1711,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
@@ -1693,7 +1696,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
context_release(context);

wined3d_resource_validate_location(&dst_surface->resource, WINED3D_LOCATION_TEXTURE_RGB);
@@ -143,7 +143,7 @@ index c4b9cac..b292adc 100644

return WINED3D_OK;
}
@@ -2677,7 +2680,7 @@ HRESULT wined3d_surface_map(struct wined3d_surface *surface, struct wined3d_map_
@@ -2526,7 +2529,7 @@ HRESULT wined3d_surface_map(struct wined3d_surface *surface, struct wined3d_map_
}

if (!(flags & (WINED3D_MAP_NO_DIRTY_UPDATE | WINED3D_MAP_READONLY)))
@@ -152,7 +152,7 @@ index c4b9cac..b292adc 100644

switch (surface->resource.map_binding)
{
@@ -3069,7 +3072,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
@@ -2924,7 +2927,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
/* The texture is now most up to date - If the surface is a render target
* and has a drawable, this path is never entered. */
wined3d_resource_validate_location(&dst_surface->resource, WINED3D_LOCATION_TEXTURE_RGB);
@@ -161,7 +161,7 @@ index c4b9cac..b292adc 100644
}

/* Uses the hardware to stretch and flip the image */
@@ -3137,7 +3140,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
@@ -2992,7 +2995,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
checkGLcall("glEnable(texture_target)");

/* For now invalidate the texture copy of the back buffer. Drawable and sysmem copy are untouched */
@@ -170,7 +170,7 @@ index c4b9cac..b292adc 100644
}

/* Make sure that the top pixel is always above the bottom pixel, and keep a separate upside down flag
@@ -3342,7 +3345,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
@@ -3197,7 +3200,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
/* The texture is now most up to date - If the surface is a render target
* and has a drawable, this path is never entered. */
wined3d_resource_validate_location(&dst_surface->resource, WINED3D_LOCATION_TEXTURE_RGB);
@@ -179,7 +179,7 @@ index c4b9cac..b292adc 100644
}

/* Front buffer coordinates are always full screen coordinates, but our GL
@@ -3836,18 +3839,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
@@ -3691,18 +3694,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
surface->ds_current_size.cy = surface->resource.height;
}

@@ -198,7 +198,7 @@ index c4b9cac..b292adc 100644
static DWORD resource_access_from_location(DWORD location)
{
switch (location)
@@ -4395,7 +4386,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, enum wined3d_bl
@@ -4250,7 +4241,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, enum wined3d_bl
(old_color_key_flags & WINED3D_CKEY_SRC_BLT) ? &old_blt_key : NULL);

wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding);
@@ -207,7 +207,7 @@ index c4b9cac..b292adc 100644
}

const struct blit_shader ffp_blit = {
@@ -5373,7 +5364,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
@@ -5204,7 +5195,7 @@ HRESULT wined3d_surface_blt(struct wined3d_surface *dst_surface, const RECT *dst
context_release(context);

wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding);
@@ -216,7 +216,7 @@ index c4b9cac..b292adc 100644

return WINED3D_OK;
}
@@ -5492,7 +5483,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
@@ -5323,7 +5314,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
{
wined3d_resource_free_sysmem(&surface->resource);
wined3d_resource_validate_location(&surface->resource, WINED3D_LOCATION_DIB);
@@ -226,10 +226,28 @@ index c4b9cac..b292adc 100644

return hr;
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index a97d1f7..a054c05 100644
index 8ee0f82..dae2aa5 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -526,7 +526,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
@@ -453,7 +453,7 @@ static void wined3d_swapchain_rotate(struct wined3d_swapchain *swapchain, struct
surface_prev->rb_multisample = surface->rb_multisample;

wined3d_resource_validate_location(&surface_prev->resource, surface->resource.locations & supported_locations);
- surface_invalidate_location(surface_prev, ~(surface->resource.locations & supported_locations));
+ wined3d_resource_invalidate_location(&surface_prev->resource, ~(surface->resource.locations & supported_locations));

surface_prev = surface;
}
@@ -462,7 +462,7 @@ static void wined3d_swapchain_rotate(struct wined3d_swapchain *swapchain, struct
surface_prev->rb_multisample = rb0;

wined3d_resource_validate_location(&surface_prev->resource, locations0 & supported_locations);
- surface_invalidate_location(surface_prev, ~(locations0 & supported_locations));
+ wined3d_resource_invalidate_location(&surface_prev->resource, ~(locations0 & supported_locations));

device_invalidate_state(swapchain->device, STATE_FRAMEBUFFER);
}
@@ -571,7 +571,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
if (!swapchain->render_to_fbo && render_to_fbo && wined3d_settings.offscreen_rendering_mode == ORM_FBO)
{
surface_load_location(back_buffer, context, WINED3D_LOCATION_TEXTURE_RGB);
@@ -238,7 +256,7 @@ index a97d1f7..a054c05 100644
swapchain->render_to_fbo = TRUE;
swapchain_update_draw_bindings(swapchain);
}
@@ -571,7 +571,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
@@ -618,7 +618,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
front = surface_from_resource(wined3d_texture_get_sub_resource(swapchain->front_buffer, 0));

wined3d_resource_validate_location(&front->resource, WINED3D_LOCATION_DRAWABLE);
@@ -247,7 +265,7 @@ index a97d1f7..a054c05 100644
/* If the swapeffect is DISCARD, the back buffer is undefined. That means the SYSMEM
* and INTEXTURE copies can keep their old content if they have any defined content.
* If the swapeffect is COPY, the content remains the same.
@@ -844,7 +844,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
@@ -891,7 +891,7 @@ static HRESULT swapchain_init(struct wined3d_swapchain *swapchain, struct wined3
if (!(device->wined3d->flags & WINED3D_NO3D))
{
wined3d_resource_validate_location(&front_buffer->resource, WINED3D_LOCATION_DRAWABLE);
@@ -257,10 +275,10 @@ index a97d1f7..a054c05 100644

/* MSDN says we're only allowed a single fullscreen swapchain per device,
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index 535159a..da1bbbb 100644
index 373c906..9b5bd1b 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -776,7 +776,7 @@ static void texture2d_sub_resource_add_dirty_region(struct wined3d_resource *sub
@@ -816,7 +816,7 @@ static void texture2d_sub_resource_add_dirty_region(struct wined3d_resource *sub
context = context_acquire(surface->resource.device, NULL);
surface_load_location(surface, context, surface->resource.map_binding);
context_release(context);
@@ -269,7 +287,7 @@ index 535159a..da1bbbb 100644
}

static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource)
@@ -788,9 +788,7 @@ static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource
@@ -828,9 +828,7 @@ static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource

static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *sub_resource, DWORD location)
{
@@ -280,7 +298,7 @@ index 535159a..da1bbbb 100644
}

static void texture2d_sub_resource_validate_location(struct wined3d_resource *sub_resource, DWORD location)
@@ -1560,7 +1558,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
@@ -1698,7 +1696,7 @@ HRESULT CDECL wined3d_texture_get_dc(struct wined3d_texture *texture, unsigned i
}

surface_load_location(surface, context, WINED3D_LOCATION_DIB);
@@ -289,7 +307,7 @@ index 535159a..da1bbbb 100644

if (context)
context_release(context);
@@ -1623,7 +1621,7 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
@@ -1761,7 +1759,7 @@ HRESULT CDECL wined3d_texture_release_dc(struct wined3d_texture *texture, unsign
context = context_acquire(device, NULL);

surface_load_location(surface, context, surface->resource.map_binding);
@@ -299,10 +317,10 @@ index 535159a..da1bbbb 100644
context_release(context);
}
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index dc24c36..428eadd 100644
index 0039805..36a82f8 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2544,7 +2544,6 @@ HRESULT surface_create_dib_section(struct wined3d_surface *surface) DECLSPEC_HID
@@ -2572,7 +2572,6 @@ HRESULT surface_create_dib_section(struct wined3d_surface *surface) DECLSPEC_HID
GLenum surface_get_gl_buffer(const struct wined3d_surface *surface) DECLSPEC_HIDDEN;
void surface_get_drawable_size(const struct wined3d_surface *surface, const struct wined3d_context *context,
unsigned int *width, unsigned int *height) DECLSPEC_HIDDEN;
@@ -311,5 +329,5 @@ index dc24c36..428eadd 100644
void surface_load_ds_location(struct wined3d_surface *surface,
struct wined3d_context *context, DWORD location) DECLSPEC_HIDDEN;
--
2.7.0
2.7.1

File renamed without changes.
File renamed without changes.

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

This file was deleted.

File renamed without changes.

Large diffs are not rendered by default.

@@ -0,0 +1,282 @@
From 47ef978f9df066194e25874a30f54033105e520b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
Date: Tue, 24 Sep 2013 00:31:39 +0200
Subject: wined3d: Don't call the public map function in surface_cpu_blt.

---
dlls/wined3d/surface.c | 108 ++++++++++++++++++++++++++++++++-----------------
1 file changed, 72 insertions(+), 36 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index ca15221..eb1397e 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4067,26 +4067,40 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
struct wined3d_surface *src_surface, const RECT *src_rect, DWORD flags,
const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
{
- const struct wined3d_box dst_box = {dst_rect->left, dst_rect->top, dst_rect->right, dst_rect->bottom, 0, 1};
int bpp, srcheight, srcwidth, dstheight, dstwidth, width;
const struct wined3d_format *src_format, *dst_format;
unsigned int src_fmt_flags, dst_fmt_flags;
struct wined3d_texture *src_texture = NULL;
- struct wined3d_map_desc dst_map, src_map;
+ void *src_data = NULL, *dst_data = NULL;
+ UINT src_row_pitch, src_slice_pitch, dst_row_pitch, dst_slice_pitch;
const BYTE *sbase = NULL;
HRESULT hr = WINED3D_OK;
const BYTE *sbuf;
BYTE *dbuf;
int x, y;
+ struct wined3d_device *device = dst_surface->resource.device;
+ struct wined3d_context *context = NULL;

TRACE("dst_surface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p, filter %s.\n",
dst_surface, wine_dbgstr_rect(dst_rect), src_surface, wine_dbgstr_rect(src_rect),
flags, fx, debug_d3dtexturefiltertype(filter));

+ if (device->d3d_initialized)
+ context = context_acquire(device, NULL);
+
+ if (!wined3d_resource_prepare_map_memory(&dst_surface->resource, context))
+ {
+ hr = E_OUTOFMEMORY;
+ goto error;
+ }
+ wined3d_resource_load_location(&dst_surface->resource, context, dst_surface->resource.map_binding);
+
if (src_surface == dst_surface)
{
- wined3d_surface_map(dst_surface, &dst_map, NULL, 0);
- src_map = dst_map;
+ dst_data = wined3d_resource_get_map_ptr(&dst_surface->resource, context, 0);
+ wined3d_resource_get_pitch(&dst_surface->resource, &dst_row_pitch, &dst_slice_pitch);
+ src_data = dst_data;
+ src_row_pitch = dst_row_pitch;
src_format = dst_surface->resource.format;
dst_format = src_format;
dst_fmt_flags = dst_surface->container->resource.format_flags;
@@ -4098,6 +4112,12 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
dst_fmt_flags = dst_surface->container->resource.format_flags;
if (src_surface)
{
+ if (!wined3d_resource_prepare_map_memory(&src_surface->resource, context))
+ {
+ hr = E_OUTOFMEMORY;
+ goto error;
+ }
+
if (dst_surface->resource.format->id != src_surface->resource.format->id)
{
if (!(src_texture = surface_convert_format(src_surface, dst_format->id)))
@@ -4108,7 +4128,9 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
}
src_surface = surface_from_resource(wined3d_texture_get_sub_resource(src_texture, 0));
}
- wined3d_surface_map(src_surface, &src_map, NULL, WINED3D_MAP_READONLY);
+ wined3d_resource_load_location(&src_surface->resource, context, src_surface->resource.map_binding);
+ wined3d_resource_get_pitch(&src_surface->resource, &src_row_pitch, &src_slice_pitch);
+ src_data = wined3d_resource_get_map_ptr(&src_surface->resource, context, 0);
src_format = src_surface->resource.format;
src_fmt_flags = src_surface->container->resource.format_flags;
}
@@ -4118,7 +4140,8 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
src_fmt_flags = dst_fmt_flags;
}

- wined3d_surface_map(dst_surface, &dst_map, &dst_box, 0);
+ wined3d_resource_get_pitch(&dst_surface->resource, &dst_row_pitch, &dst_slice_pitch);
+ dst_data = wined3d_resource_get_map_ptr(&dst_surface->resource, context, 0);
}

bpp = dst_surface->resource.format->byte_count;
@@ -4129,15 +4152,12 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
width = (dst_rect->right - dst_rect->left) * bpp;

if (src_surface)
- sbase = (BYTE *)src_map.data
- + ((src_rect->top / src_format->block_height) * src_map.row_pitch)
+ sbase = (BYTE *)src_data
+ + ((src_rect->top / src_format->block_height) * src_row_pitch)
+ ((src_rect->left / src_format->block_width) * src_format->block_byte_count);
- if (src_surface != dst_surface)
- dbuf = dst_map.data;
- else
- dbuf = (BYTE *)dst_map.data
- + ((dst_rect->top / dst_format->block_height) * dst_map.row_pitch)
- + ((dst_rect->left / dst_format->block_width) * dst_format->block_byte_count);
+ dbuf = (BYTE *)dst_data
+ + ((dst_rect->top / dst_format->block_height) * dst_row_pitch)
+ + ((dst_rect->left / dst_format->block_width) * dst_format->block_byte_count);

if (src_fmt_flags & dst_fmt_flags & WINED3DFMT_FLAG_BLOCKS)
{
@@ -4172,7 +4192,7 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
}

hr = surface_cpu_blt_compressed(sbase, dbuf,
- src_map.row_pitch, dst_map.row_pitch, dstwidth, dstheight,
+ src_row_pitch, dst_row_pitch, dstwidth, dstheight,
src_format, flags, fx);
goto release;
}
@@ -4180,7 +4200,7 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
/* First, all the 'source-less' blits */
if (flags & WINED3D_BLT_COLOR_FILL)
{
- hr = _Blt_ColorFill(dbuf, dstwidth, dstheight, bpp, dst_map.row_pitch, fx->fill_color);
+ hr = _Blt_ColorFill(dbuf, dstwidth, dstheight, bpp, dst_row_pitch, fx->fill_color);
flags &= ~WINED3D_BLT_COLOR_FILL;
}

@@ -4224,19 +4244,19 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
for (y = 0; y < dstheight; ++y)
{
memcpy(dbuf, sbuf, width);
- sbuf += src_map.row_pitch;
- dbuf += dst_map.row_pitch;
+ sbuf += src_row_pitch;
+ dbuf += dst_row_pitch;
}
}
else if (dst_rect->top > src_rect->top)
{
/* Copy from bottom upwards. */
- sbuf += src_map.row_pitch * dstheight;
- dbuf += dst_map.row_pitch * dstheight;
+ sbuf += src_row_pitch * dstheight;
+ dbuf += dst_row_pitch * dstheight;
for (y = 0; y < dstheight; ++y)
{
- sbuf -= src_map.row_pitch;
- dbuf -= dst_map.row_pitch;
+ sbuf -= src_row_pitch;
+ dbuf -= dst_row_pitch;
memcpy(dbuf, sbuf, width);
}
}
@@ -4246,8 +4266,8 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
for (y = 0; y < dstheight; ++y)
{
memmove(dbuf, sbuf, width);
- sbuf += src_map.row_pitch;
- dbuf += dst_map.row_pitch;
+ sbuf += src_row_pitch;
+ dbuf += dst_row_pitch;
}
}
}
@@ -4256,9 +4276,9 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
/* Stretching in y direction only. */
for (y = sy = 0; y < dstheight; ++y, sy += yinc)
{
- sbuf = sbase + (sy >> 16) * src_map.row_pitch;
+ sbuf = sbase + (sy >> 16) * src_row_pitch;
memcpy(dbuf, sbuf, width);
- dbuf += dst_map.row_pitch;
+ dbuf += dst_row_pitch;
}
}
}
@@ -4268,13 +4288,13 @@ static HRESULT surface_cpu_blt(struct wined3d_surface *dst_surface, const RECT *
int last_sy = -1;
for (y = sy = 0; y < dstheight; ++y, sy += yinc)
{
- sbuf = sbase + (sy >> 16) * src_map.row_pitch;
+ sbuf = sbase + (sy >> 16) * src_row_pitch;

if ((sy >> 16) == (last_sy >> 16))
{
/* This source row is the same as last source row -
* Copy the already stretched row. */
- memcpy(dbuf, dbuf - dst_map.row_pitch, width);
+ memcpy(dbuf, dbuf - dst_row_pitch, width);
}
else
{
@@ -4321,14 +4341,14 @@ do { \
}
#undef STRETCH_ROW
}
- dbuf += dst_map.row_pitch;
+ dbuf += dst_row_pitch;
last_sy = sy;
}
}
}
else
{
- LONG dstyinc = dst_map.row_pitch, dstxinc = bpp;
+ LONG dstyinc = dst_row_pitch, dstxinc = bpp;
DWORD keylow = 0xffffffff, keyhigh = 0, keymask = 0xffffffff;
DWORD destkeylow = 0x0, destkeyhigh = 0xffffffff, destkeymask = 0xffffffff;
if (flags & (WINED3D_BLT_SRC_CKEY | WINED3D_BLT_DST_CKEY
@@ -4380,7 +4400,7 @@ do { \
LONG tmpxy;
dTopLeft = dbuf;
dTopRight = dbuf + ((dstwidth - 1) * bpp);
- dBottomLeft = dTopLeft + ((dstheight - 1) * dst_map.row_pitch);
+ dBottomLeft = dTopLeft + ((dstheight - 1) * dst_row_pitch);
dBottomRight = dBottomLeft + ((dstwidth - 1) * bpp);

if (fx->fx & WINEDDBLTFX_ARITHSTRETCHY)
@@ -4463,7 +4483,7 @@ do { \
type *d = (type *)dbuf, *dx, tmp; \
for (y = sy = 0; y < dstheight; ++y, sy += yinc) \
{ \
- s = (const type *)(sbase + (sy >> 16) * src_map.row_pitch); \
+ s = (const type *)(sbase + (sy >> 16) * src_row_pitch); \
dx = d; \
for (x = sx = 0; x < dstwidth; ++x, sx += xinc) \
{ \
@@ -4496,7 +4516,7 @@ do { \
BYTE *d = dbuf, *dx;
for (y = sy = 0; y < dstheight; ++y, sy += yinc)
{
- sbuf = sbase + (sy >> 16) * src_map.row_pitch;
+ sbuf = sbase + (sy >> 16) * src_row_pitch;
dx = d;
for (x = sx = 0; x < dstwidth; ++x, sx+= xinc)
{
@@ -4527,6 +4547,10 @@ do { \
}
}

+ wined3d_resource_invalidate_location(&dst_surface->resource, ~dst_surface->resource.map_binding);
+ if (dst_surface->container)
+ wined3d_texture_set_dirty(dst_surface->container);
+
error:
if (flags && FIXME_ON(d3d_surface))
{
@@ -4534,12 +4558,24 @@ error:
}

release:
- wined3d_surface_unmap(dst_surface);
- if (src_surface && src_surface != dst_surface)
- wined3d_surface_unmap(src_surface);
+ if (dst_data)
+ {
+ wined3d_resource_release_map_ptr(&dst_surface->resource, context);
+
+ if (dst_surface->container->swapchain
+ && dst_surface->container == dst_surface->container->swapchain->front_buffer)
+ {
+ dst_surface->lockedRect = *dst_rect;
+ dst_surface->surface_ops->surface_frontbuffer_updated(dst_surface);
+ }
+ }
+ if (src_surface && src_surface != dst_surface && src_data)
+ wined3d_resource_release_map_ptr(&src_surface->resource, context);
/* Release the converted surface, if any. */
if (src_texture)
wined3d_texture_decref(src_texture);
+ if (context)
+ context_release(context);

return hr;
}
--
2.7.1

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -1,4 +1,4 @@
From ff3ebefd7ff7834c3c1a7c9b7998592929e40714 Mon Sep 17 00:00:00 2001
From 7be737c0da2f427cb2dae44d83f6baf57a95e73d Mon Sep 17 00:00:00 2001
From: Henri Verbeet <hverbeet@codeweavers.com>
Date: Sat, 8 Dec 2012 19:28:54 +0100
Subject: wined3d: Wait for resource updates to finish when using the
@@ -17,10 +17,10 @@ then it's probably useful for debugging.
6 files changed, 40 insertions(+), 13 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 9f29aa4..59c3409 100644
index 21290d8..260228f 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -7679,7 +7679,9 @@ HRESULT arbfp_blit_surface(struct wined3d_device *device, DWORD filter,
@@ -7911,7 +7911,9 @@ static void arbfp_blit_surface(struct wined3d_device *device, enum wined3d_blit_
/* Leave the opengl state valid for blitting */
arbfp_blit_unset(context->gl_info);

@@ -32,7 +32,7 @@ index 9f29aa4..59c3409 100644
&& (dst_surface->container->swapchain->front_buffer == dst_surface->container)))
context->gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
diff --git a/dlls/wined3d/buffer.c b/dlls/wined3d/buffer.c
index 3de580e..41bc6f0 100644
index 7eef51e..fa1ddc4 100644
--- a/dlls/wined3d/buffer.c
+++ b/dlls/wined3d/buffer.c
@@ -1100,7 +1100,9 @@ void CDECL wined3d_buffer_unmap(struct wined3d_buffer *buffer)
@@ -47,10 +47,10 @@ index 3de580e..41bc6f0 100644
context_release(context);

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index e33d0c0..b9935e0 100644
index 68163e5..ebee608 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -463,7 +463,9 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
@@ -493,7 +493,9 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
}
}

@@ -61,7 +61,7 @@ index e33d0c0..b9935e0 100644
&& target->container->swapchain && target->container->swapchain->front_buffer == target->container))
gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */

@@ -3247,7 +3249,10 @@ HRESULT CDECL wined3d_device_end_scene(struct wined3d_device *device)
@@ -3357,7 +3359,10 @@ HRESULT CDECL wined3d_device_end_scene(struct wined3d_device *device)

context = context_acquire(device, NULL);
/* We only have to do this if we need to read the, swapbuffers performs a flush for us */
@@ -74,10 +74,10 @@ index e33d0c0..b9935e0 100644
* fails. */
context_release(context);
diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 98261f9..d3a9e03 100644
index 4e66f01..ab4ab49 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -781,7 +781,9 @@ void draw_primitive(struct wined3d_device *device, UINT start_idx, UINT index_co
@@ -796,7 +796,9 @@ void draw_primitive(struct wined3d_device *device, UINT start_idx, UINT index_co
wined3d_event_query_issue(context->buffer_queries[i], device);
}

@@ -89,10 +89,10 @@ index 98261f9..d3a9e03 100644

context_release(context);
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 1aafda1..caf9618 100644
index 2de931f..fd8c5d5 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -687,7 +687,9 @@ static void surface_depth_blt_fbo(const struct wined3d_device *device,
@@ -669,7 +669,9 @@ static void surface_depth_blt_fbo(const struct wined3d_device *device,
dst_rect->left, dst_rect->top, dst_rect->right, dst_rect->bottom, gl_mask, GL_NEAREST);
checkGLcall("glBlitFramebuffer()");

@@ -103,7 +103,7 @@ index 1aafda1..caf9618 100644
gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */

context_release(context);
@@ -816,7 +818,9 @@ static void surface_blt_fbo(const struct wined3d_device *device,
@@ -796,7 +798,9 @@ static void surface_blt_fbo(const struct wined3d_device *device,
dst_rect.left, dst_rect.top, dst_rect.right, dst_rect.bottom, GL_COLOR_BUFFER_BIT, gl_filter);
checkGLcall("glBlitFramebuffer()");

@@ -114,7 +114,7 @@ index 1aafda1..caf9618 100644
|| (dst_location == WINED3D_LOCATION_DRAWABLE
&& dst_surface->container->swapchain->front_buffer == dst_surface->container))
gl_info->gl_ops.gl.p_glFlush();
@@ -1393,7 +1397,9 @@ void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct w
@@ -1341,7 +1345,9 @@ void wined3d_surface_upload_data(struct wined3d_surface *surface, const struct w
checkGLcall("glBindBuffer");
}

@@ -125,7 +125,7 @@ index 1aafda1..caf9618 100644
gl_info->gl_ops.gl.p_glFlush();

if (gl_info->quirks & WINED3D_QUIRK_FBO_TEX_UPDATE)
@@ -3337,7 +3343,9 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
@@ -2896,7 +2902,9 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
checkGLcall("glDeleteTextures(1, &backup)");
}

@@ -136,7 +136,7 @@ index 1aafda1..caf9618 100644
gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */

context_release(context);
@@ -3452,7 +3460,9 @@ static void surface_blt_to_drawable(const struct wined3d_device *device,
@@ -3004,7 +3012,9 @@ static void surface_blt_to_drawable(const struct wined3d_device *device,
/* Leave the opengl state valid for blitting */
device->blitter->unset_shader(context->gl_info);

@@ -147,7 +147,7 @@ index 1aafda1..caf9618 100644
|| (dst_surface->container->swapchain
&& dst_surface->container->swapchain->front_buffer == dst_surface->container))
gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
@@ -3873,7 +3883,9 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
@@ -3369,7 +3379,9 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co

context_invalidate_state(context, STATE_FRAMEBUFFER);

@@ -158,7 +158,7 @@ index 1aafda1..caf9618 100644
gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
}
else if (location == WINED3D_LOCATION_DRAWABLE)
@@ -3889,7 +3901,9 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
@@ -3385,7 +3397,9 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co

context_invalidate_state(context, STATE_FRAMEBUFFER);

@@ -170,10 +170,10 @@ index 1aafda1..caf9618 100644
}
else
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index ed2964e..60504ef 100644
index 335e12c..c50f1f7 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -531,8 +531,10 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
@@ -590,8 +590,10 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
swapchain_blit(swapchain, context, &src_rect, &dst_rect);
}

@@ -184,7 +184,7 @@ index ed2964e..60504ef 100644
+ gl_info->gl_ops.gl.p_glFlush();

/* call wglSwapBuffers through the gl table to avoid confusing the Steam overlay */
gl_info->gl_ops.wgl.p_wglSwapBuffers(context->hdc); /* TODO: cycle through the swapchain buffers */
gl_info->gl_ops.wgl.p_wglSwapBuffers(context->hdc);
--
2.2.1
2.7.1

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Large diffs are not rendered by default.

@@ -5,6 +5,7 @@ Fixes: [11674] Support for CSMT (command stream) to increase graphic performance
Apply-After: dlls/wined3d/*
Depends: wined3d-CSMT_Helper
IfDefined: STAGING_CSMT
Disabled: true

# Known issues:
# https://bugs.wine-staging.com/buglist.cgi?component=Bugs&keywords=csmt%2C%20&keywords_type=allwords&list_id=3690&query_format=advanced&resolution=---
@@ -1,21 +1,21 @@
From b5186872d7485ef90c957e855af6a2124fc40834 Mon Sep 17 00:00:00 2001
From 1fee677cce6255628039d2e6b9e9fc12e57b998c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= <nerv@dawncrow.de>
Date: Tue, 26 Aug 2014 00:59:37 +0200
Subject: wpcap: Load libpcap dynamically.

This is intended for packagers, without this patch libpcap easily becomes a fixed dependency of wine.
Something we don't want i guess.
---
configure.ac | 6 +-
configure.ac | 4 +-
dlls/wpcap/Makefile.in | 1 -
dlls/wpcap/wpcap.c | 171 +++++++++++++++++++++++++++++++++++++++----------
3 files changed, 140 insertions(+), 38 deletions(-)
3 files changed, 139 insertions(+), 37 deletions(-)

diff --git a/configure.ac b/configure.ac
index 811e2aa..30b500a 100644
index 1e6bba3..f0a3b55 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1182,11 +1182,11 @@ test "x$ac_cv_lib_OpenCL_clGetPlatformInfo" != xyes && enable_opencl=${enable_op
@@ -1174,9 +1174,9 @@ WINE_NOTICE_WITH(opencl,[test "x$ac_cv_lib_OpenCL_clGetPlatformInfo" != xyes],
dnl **** Check for libpcap ****
if test "$ac_cv_header_pcap_pcap_h" = "yes"
then
@@ -24,11 +24,8 @@ index 811e2aa..30b500a 100644
fi
-WINE_NOTICE_WITH(pcap,[test "x$ac_cv_lib_pcap_pcap_create" != xyes],
+WINE_NOTICE_WITH(pcap,[test "x$ac_cv_lib_soname_pcap" = "x"],
[pcap ${notice_platform}development files not found, wpcap won't be supported.])
-test "x$ac_cv_lib_pcap_pcap_create" != xyes && enable_wpcap=${enable_wpcap:-no}
+test "x$ac_cv_lib_soname_pcap" = "x" && enable_wpcap=${enable_wpcap:-no}

dnl **** Check for libxml2 ****
[pcap ${notice_platform}development files not found, wpcap won't be supported.],
[enable_wpcap])

diff --git a/dlls/wpcap/Makefile.in b/dlls/wpcap/Makefile.in
index 91b4a95..aeef71a 100644