You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Updated CSMT patchset to fix crash in Path of Exile after character selection (fixes Wine Staging Bug #451).
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
From 8dc59ef56211678a681315041c0fd23bd490ad25 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 29 Jul 2015 06:35:07 +0200
|
||||
Subject: wined3d: Properly initialize format_flags for surfaces and volumes.
|
||||
|
||||
---
|
||||
dlls/wined3d/surface.c | 2 ++
|
||||
dlls/wined3d/volume.c | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 3b033db..38a233d 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -5603,6 +5603,8 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
}
|
||||
|
||||
surface->container = container;
|
||||
+ surface->resource.format_flags = container->resource.format_flags;
|
||||
+
|
||||
surface_validate_location(surface, WINED3D_LOCATION_SYSMEM);
|
||||
list_init(&surface->renderbuffers);
|
||||
list_init(&surface->overlays);
|
||||
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
|
||||
index 424938a..4e1c415 100644
|
||||
--- a/dlls/wined3d/volume.c
|
||||
+++ b/dlls/wined3d/volume.c
|
||||
@@ -779,6 +779,7 @@ static HRESULT volume_init(struct wined3d_volume *volume, struct wined3d_texture
|
||||
}
|
||||
|
||||
volume->container = container;
|
||||
+ volume->resource.format_flags = container->resource.format_flags;
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
--
|
||||
2.4.5
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From fb1391dc1f2274d4336846720bb9869a3b751b0c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 19 Sep 2013 14:22:24 +0200
|
||||
Subject: wined3d: Merge get_pitch functions. (v2)
|
||||
Subject: wined3d: Merge get_pitch functions.
|
||||
|
||||
---
|
||||
dlls/wined3d/resource.c | 31 ++++++++++++++++
|
@@ -1,4 +1,4 @@
|
||||
From bebac68a70a4be81237cd5ba392870eed6f5eccc Mon Sep 17 00:00:00 2001
|
||||
From f697640248f83b974829df63769cbb6fb4f6b722 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.
|
||||
@@ -13,10 +13,10 @@ Subject: wined3d: Remove surface_validate_location.
|
||||
6 files changed, 20 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
|
||||
index 2ad6917..35637f2 100644
|
||||
index 57bc787..bdfc42d 100644
|
||||
--- a/dlls/wined3d/arb_program_shader.c
|
||||
+++ b/dlls/wined3d/arb_program_shader.c
|
||||
@@ -7921,7 +7921,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, DWORD filter,
|
||||
@@ -7864,7 +7864,7 @@ static void arbfp_blit_surface(struct wined3d_device *device, DWORD filter,
|
||||
|
||||
context_release(context);
|
||||
|
||||
@@ -26,7 +26,7 @@ index 2ad6917..35637f2 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index e84405e..95df08f 100644
|
||||
index 08987f2..210e53e 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -392,7 +392,7 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
|
||||
@@ -39,10 +39,10 @@ index e84405e..95df08f 100644
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 8b2fb74..0599757 100644
|
||||
index 4a61d1b..8ec6ab8 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -1167,7 +1167,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@@ -1170,7 +1170,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
* and all flags get lost */
|
||||
surface_prepare_system_memory(surface);
|
||||
memset(surface->resource.heap_memory, 0, surface->resource.size);
|
||||
@@ -51,7 +51,7 @@ index 8b2fb74..0599757 100644
|
||||
surface_invalidate_location(surface, ~WINED3D_LOCATION_SYSMEM);
|
||||
|
||||
/* We also get here when the ddraw swapchain is destroyed, for example
|
||||
@@ -1679,7 +1679,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
@@ -1683,7 +1683,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
|
||||
context_release(context);
|
||||
|
||||
@@ -60,7 +60,7 @@ index 8b2fb74..0599757 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2178,7 +2178,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2169,7 +2169,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
valid_location = WINED3D_LOCATION_SYSMEM;
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ index 8b2fb74..0599757 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -2723,7 +2723,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2715,7 +2715,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
{
|
||||
TRACE("WINED3D_MAP_DISCARD flag passed, marking %s as up to date.\n",
|
||||
wined3d_debug_location(surface->resource.map_binding));
|
||||
@@ -78,7 +78,7 @@ index 8b2fb74..0599757 100644
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3282,7 +3282,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
|
||||
@@ -3274,7 +3274,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. */
|
||||
@@ -87,7 +87,7 @@ index 8b2fb74..0599757 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
@@ -3555,7 +3555,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3547,7 +3547,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. */
|
||||
@@ -96,7 +96,7 @@ index 8b2fb74..0599757 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
@@ -4058,13 +4058,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4053,13 +4053,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
surface->ds_current_size.cy = surface->resource.height;
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ index 8b2fb74..0599757 100644
|
||||
void surface_invalidate_location(struct wined3d_surface *surface, DWORD location)
|
||||
{
|
||||
TRACE("surface %p, location %s.\n", surface, wined3d_debug_location(location));
|
||||
@@ -4452,7 +4445,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
@@ -4447,7 +4440,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ index 8b2fb74..0599757 100644
|
||||
|
||||
if (location != WINED3D_LOCATION_SYSMEM && (surface->resource.locations & WINED3D_LOCATION_SYSMEM))
|
||||
surface_evict_sysmem(surface);
|
||||
@@ -4627,7 +4620,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, DWORD filter,
|
||||
@@ -4620,7 +4613,7 @@ static void ffp_blit_blit_surface(struct wined3d_device *device, DWORD filter,
|
||||
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT,
|
||||
(old_color_key_flags & WINED3D_CKEY_SRC_BLT) ? &old_blt_key : NULL);
|
||||
|
||||
@@ -128,7 +128,7 @@ index 8b2fb74..0599757 100644
|
||||
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
|
||||
}
|
||||
|
||||
@@ -5599,7 +5592,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5600,7 +5593,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
dst_surface, dst_surface->container->resource.draw_binding, &dst_rect);
|
||||
context_release(context);
|
||||
|
||||
@@ -137,16 +137,16 @@ index 8b2fb74..0599757 100644
|
||||
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -5695,7 +5688,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
}
|
||||
|
||||
@@ -5698,7 +5691,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
surface->container = container;
|
||||
surface->resource.format_flags = container->resource.format_flags;
|
||||
|
||||
- surface_validate_location(surface, WINED3D_LOCATION_SYSMEM);
|
||||
+ wined3d_resource_validate_location(&surface->resource, WINED3D_LOCATION_SYSMEM);
|
||||
list_init(&surface->renderbuffers);
|
||||
list_init(&surface->overlays);
|
||||
|
||||
@@ -5727,7 +5720,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5730,7 +5723,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);
|
||||
@@ -156,7 +156,7 @@ index 8b2fb74..0599757 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
|
||||
index e702d61..075bffc 100644
|
||||
index 2e91c7c..a62d245 100644
|
||||
--- a/dlls/wined3d/swapchain.c
|
||||
+++ b/dlls/wined3d/swapchain.c
|
||||
@@ -569,19 +569,19 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain, const RECT
|
||||
@@ -202,10 +202,10 @@ index e702d61..075bffc 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index d834cd8..bc9584a 100644
|
||||
index 75cf863..cf6e3e3 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -798,9 +798,7 @@ static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *
|
||||
@@ -785,9 +785,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)
|
||||
{
|
||||
@@ -217,10 +217,10 @@ index d834cd8..bc9584a 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 7b5a04f..06774c8 100644
|
||||
index 0aa218c..fa842fa 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2409,7 +2409,6 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2442,7 +2442,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;
|
||||
@@ -229,5 +229,5 @@ index 7b5a04f..06774c8 100644
|
||||
GLenum target, unsigned int level, unsigned int layer, DWORD flags,
|
||||
struct wined3d_surface **surface) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.3.5
|
||||
2.4.5
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user