mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase wined3d-CSMT_Main patchset on top of upstream Wine, remove wined3d-Color_Key patchset (fixed upstream).
This commit is contained in:
parent
1b743a18ea
commit
93224a7bf4
@ -87,7 +87,7 @@ Included bug fixes and improvements
|
||||
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
|
||||
* Fix access violation when calling GetStringTypeW with NULL src. ([Wine Bug #37759](https://bugs.winehq.org/show_bug.cgi?id=37759))
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* Fix color key regression causing pink rectangles around text ([Wine Bug #37748](https://bugs.winehq.org/show_bug.cgi?id=37748))
|
||||
* ~~Fix color key regression causing pink rectangles around text~~ ([Wine Bug #37748](https://bugs.winehq.org/show_bug.cgi?id=37748))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
* Fix crash of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -15,6 +15,7 @@ wine-staging (1.7.35) UNRELEASED; urgency=low
|
||||
* Removed patch to initialize irp.Tail.Overlay.OriginalFileObject with stub file object (accepted upstream).
|
||||
* Removed patch to fix incorrect behaviour of PathIsDirectoryEmptyW (accepted upstream).
|
||||
* Removed patch to store IOCS data in a property instead of GWLP_USERDATA (accepted upstream).
|
||||
* Removed patch to fix color key regression (fixed upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 12 Jan 2015 13:06:22 +0100
|
||||
|
||||
wine-staging (1.7.34-1) unstable; urgency=low
|
||||
|
@ -168,7 +168,6 @@ patch_enable_all ()
|
||||
enable_winecfg_Staging="$1"
|
||||
enable_wined3d_CSMT_Helper="$1"
|
||||
enable_wined3d_CSMT_Main="$1"
|
||||
enable_wined3d_Color_Key="$1"
|
||||
enable_wined3d_DXTn="$1"
|
||||
enable_wined3d_Revert_PixelFormat="$1"
|
||||
enable_winedevice_Fix_Relocation="$1"
|
||||
@ -529,9 +528,6 @@ patch_enable ()
|
||||
wined3d-CSMT_Main)
|
||||
enable_wined3d_CSMT_Main="$2"
|
||||
;;
|
||||
wined3d-Color_Key)
|
||||
enable_wined3d_Color_Key="$2"
|
||||
;;
|
||||
wined3d-DXTn)
|
||||
enable_wined3d_DXTn="$2"
|
||||
;;
|
||||
@ -790,11 +786,7 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
if test "$enable_wined3d_CSMT_Helper" -gt 1; then
|
||||
abort "Patchset wined3d-CSMT_Helper disabled, but wined3d-CSMT_Main depends on that."
|
||||
fi
|
||||
if test "$enable_wined3d_Color_Key" -gt 1; then
|
||||
abort "Patchset wined3d-Color_Key disabled, but wined3d-CSMT_Main depends on that."
|
||||
fi
|
||||
enable_wined3d_CSMT_Helper=1
|
||||
enable_wined3d_Color_Key=1
|
||||
fi
|
||||
|
||||
if test "$enable_wined3d_CSMT_Helper" -eq 1; then
|
||||
@ -2811,21 +2803,6 @@ if test "$enable_winebuild_LinkerVersion" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Color_Key
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37748] Fix color key regression causing pink rectangles around text
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/surface.c
|
||||
# |
|
||||
if test "$enable_wined3d_Color_Key" -eq 1; then
|
||||
patch_apply wined3d-Color_Key/0001-wined3d-Use-proper-color-key-type-define-when-callin.patch
|
||||
(
|
||||
echo '+ { "Christian Costa", "wined3d: Use proper color key type define when calling wined3d_texture_set_color_key.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-CSMT_Helper
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b41b544254e1074c64732e641d8eaa962418a7d6 Mon Sep 17 00:00:00 2001
|
||||
From cc8b1bb0366f3fe8fb103eb2a50e5238ec1d30b9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Sun, 17 Nov 2013 19:34:26 +0100
|
||||
Subject: wined3d: Pass a context to surface_load_drawable and
|
||||
@ -9,10 +9,10 @@ Subject: wined3d: Pass a context to surface_load_drawable and
|
||||
1 file changed, 34 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 9731368..93ea13b 100644
|
||||
index 17ce8ef..8a569a5 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -3597,19 +3597,35 @@ void surface_translate_drawable_coords(const struct wined3d_surface *surface, HW
|
||||
@@ -3604,19 +3604,35 @@ void surface_translate_drawable_coords(const struct wined3d_surface *surface, HW
|
||||
rect->bottom = drawable_height - rect->bottom;
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ index 9731368..93ea13b 100644
|
||||
gl_info = context->gl_info;
|
||||
|
||||
/* Make sure the surface is up-to-date. This should probably use
|
||||
@@ -3662,7 +3678,12 @@ static void surface_blt_to_drawable(const struct wined3d_device *device,
|
||||
@@ -3669,7 +3685,12 @@ static void surface_blt_to_drawable(const struct wined3d_device *device,
|
||||
&& dst_surface->container->swapchain->front_buffer == dst_surface->container))
|
||||
gl_info->gl_ops.gl.p_glFlush(); /* Flush to ensure ordering across contexts. */
|
||||
|
||||
@ -63,7 +63,7 @@ index 9731368..93ea13b 100644
|
||||
}
|
||||
|
||||
HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const struct wined3d_color *color)
|
||||
@@ -3813,6 +3834,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
@@ -3820,6 +3841,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
/* Blit from offscreen surface to render target */
|
||||
struct wined3d_color_key old_blt_key = src_surface->container->src_blt_color_key;
|
||||
DWORD old_color_key_flags = src_surface->container->color_key_flags;
|
||||
@ -71,8 +71,8 @@ index 9731368..93ea13b 100644
|
||||
|
||||
TRACE("Blt from surface %p to rendertarget %p\n", src_surface, dst_surface);
|
||||
|
||||
@@ -3846,9 +3868,11 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
wined3d_texture_set_color_key(src_surface->container, WINEDDCKEY_SRCBLT, NULL);
|
||||
@@ -3853,9 +3875,11 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT, NULL);
|
||||
}
|
||||
|
||||
- surface_blt_to_drawable(device, filter,
|
||||
@ -83,8 +83,8 @@ index 9731368..93ea13b 100644
|
||||
+ context_release(context);
|
||||
|
||||
/* Restore the color key parameters */
|
||||
wined3d_texture_set_color_key(src_surface->container, WINEDDCKEY_SRCBLT,
|
||||
@@ -4211,8 +4235,9 @@ static void surface_load_sysmem(struct wined3d_surface *surface,
|
||||
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT,
|
||||
@@ -4218,8 +4242,9 @@ static void surface_load_sysmem(struct wined3d_surface *surface,
|
||||
surface, wined3d_debug_location(surface->locations));
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ index 9731368..93ea13b 100644
|
||||
{
|
||||
RECT r;
|
||||
|
||||
@@ -4225,7 +4250,7 @@ static HRESULT surface_load_drawable(struct wined3d_surface *surface,
|
||||
@@ -4232,7 +4257,7 @@ static HRESULT surface_load_drawable(struct wined3d_surface *surface,
|
||||
|
||||
surface_get_rect(surface, NULL, &r);
|
||||
surface_load_location(surface, WINED3D_LOCATION_TEXTURE_RGB);
|
||||
@ -104,7 +104,7 @@ index 9731368..93ea13b 100644
|
||||
WINED3D_TEXF_POINT, FALSE, surface, &r, surface, &r);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -4491,7 +4516,10 @@ HRESULT surface_load_location(struct wined3d_surface *surface, DWORD location)
|
||||
@@ -4498,7 +4523,10 @@ HRESULT surface_load_location(struct wined3d_surface *surface, DWORD location)
|
||||
break;
|
||||
|
||||
case WINED3D_LOCATION_DRAWABLE:
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1a7049fa8831453c9a041085a93413b05adc9e2a Mon Sep 17 00:00:00 2001
|
||||
From 574b59a0f496d7aab025e1b3a1e241b20692d5e0 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.
|
||||
@ -26,7 +26,7 @@ index b85f41e..93ecb99 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 4ac9c3e..99f4e96 100644
|
||||
index 236e041..10f29d2 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 4ac9c3e..99f4e96 100644
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index afe3c57..909d405 100644
|
||||
index 6ad6ac7..3e10009 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -1224,7 +1224,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@@ -1223,7 +1223,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 afe3c57..909d405 100644
|
||||
surface_invalidate_location(surface, ~WINED3D_LOCATION_SYSMEM);
|
||||
|
||||
/* We also get here when the ddraw swapchain is destroyed, for example
|
||||
@@ -1736,7 +1736,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
@@ -1735,7 +1735,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
|
||||
context_release(context);
|
||||
|
||||
@ -60,7 +60,7 @@ index afe3c57..909d405 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -2254,7 +2254,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2253,7 +2253,7 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
valid_location = WINED3D_LOCATION_SYSMEM;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ index afe3c57..909d405 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -2799,7 +2799,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2798,7 +2798,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 afe3c57..909d405 100644
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3354,7 +3354,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
|
||||
@@ -3353,7 +3353,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 afe3c57..909d405 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
@@ -3628,7 +3628,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3626,7 +3626,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,16 +96,16 @@ index afe3c57..909d405 100644
|
||||
surface_invalidate_location(dst_surface, ~WINED3D_LOCATION_TEXTURE_RGB);
|
||||
}
|
||||
|
||||
@@ -3941,7 +3941,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
wined3d_texture_set_color_key(src_surface->container, WINEDDCKEY_SRCBLT,
|
||||
(old_color_key_flags & WINEDDSD_CKSRCBLT) ? &old_blt_key : NULL);
|
||||
@@ -3939,7 +3939,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
wined3d_texture_set_color_key(src_surface->container, WINED3D_CKEY_SRC_BLT,
|
||||
(old_color_key_flags & WINED3D_CKEY_SRC_BLT) ? &old_blt_key : NULL);
|
||||
|
||||
- surface_validate_location(dst_surface, dst_surface->container->resource.draw_binding);
|
||||
+ wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding);
|
||||
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -4186,13 +4186,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4184,13 +4184,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
surface->ds_current_size.cy = surface->resource.height;
|
||||
}
|
||||
|
||||
@ -119,7 +119,7 @@ index afe3c57..909d405 100644
|
||||
void surface_invalidate_location(struct wined3d_surface *surface, DWORD location)
|
||||
{
|
||||
TRACE("surface %p, location %s.\n", surface, wined3d_debug_location(location));
|
||||
@@ -4588,7 +4581,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
@@ -4586,7 +4579,7 @@ void surface_load_location(struct wined3d_surface *surface, struct wined3d_conte
|
||||
break;
|
||||
}
|
||||
|
||||
@ -128,7 +128,7 @@ index afe3c57..909d405 100644
|
||||
|
||||
if (location != WINED3D_LOCATION_SYSMEM && (surface->resource.locations & WINED3D_LOCATION_SYSMEM))
|
||||
surface_evict_sysmem(surface);
|
||||
@@ -5683,7 +5676,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5681,7 +5674,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,7 +137,7 @@ index afe3c57..909d405 100644
|
||||
surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
|
||||
|
||||
return WINED3D_OK;
|
||||
@@ -5780,7 +5773,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5778,7 +5771,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
}
|
||||
|
||||
surface->container = container;
|
||||
@ -146,7 +146,7 @@ index afe3c57..909d405 100644
|
||||
list_init(&surface->renderbuffers);
|
||||
list_init(&surface->overlays);
|
||||
|
||||
@@ -5812,7 +5805,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5810,7 +5803,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);
|
||||
@ -202,10 +202,10 @@ index 601d3ad..bdb4b67 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 92f7744..6692118 100644
|
||||
index 1f54c71..5b6f1ab 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -874,9 +874,7 @@ static void texture2d_sub_resource_invalidate_location(struct wined3d_resource *
|
||||
@@ -783,9 +783,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 92f7744..6692118 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 9186720..3e13ae8 100644
|
||||
index d5d960e..6d233b8 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2383,7 +2383,6 @@ HRESULT wined3d_surface_update_desc(struct wined3d_surface *surface,
|
||||
@@ -2384,7 +2384,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;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 75d61e9b6e6f30be95ef495a5c2dd6e88955c575 Mon Sep 17 00:00:00 2001
|
||||
From 6859a41049de6f77771cadb3d6be474d031545ce 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.
|
||||
@ -28,10 +28,10 @@ index 93ecb99..f7bea42 100644
|
||||
return WINED3D_OK;
|
||||
}
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index d214037..3c17b03 100644
|
||||
index 13eebf1..068dfa9 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -3085,7 +3085,7 @@ static void context_setup_target(struct wined3d_context *context, struct wined3d
|
||||
@@ -3161,7 +3161,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 d214037..3c17b03 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index a26f1b0..2ef0efc 100644
|
||||
index e61eba3..b8c444b 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -393,7 +393,7 @@ void device_clear_render_targets(struct wined3d_device *device, UINT rt_count, c
|
||||
@ -67,10 +67,10 @@ index 7034b25..eef7e2c 100644
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 9f74a39..d3bbb54 100644
|
||||
index 968c39e..69cc9ca 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -599,7 +599,7 @@ static void surface_evict_sysmem(struct wined3d_surface *surface)
|
||||
@@ -598,7 +598,7 @@ static void surface_evict_sysmem(struct wined3d_surface *surface)
|
||||
return;
|
||||
|
||||
wined3d_resource_free_sysmem(&surface->resource);
|
||||
@ -79,7 +79,7 @@ index 9f74a39..d3bbb54 100644
|
||||
}
|
||||
|
||||
static void surface_release_client_storage(struct wined3d_surface *surface)
|
||||
@@ -1185,7 +1185,7 @@ static void surface_remove_pbo(struct wined3d_surface *surface, const struct win
|
||||
@@ -1184,7 +1184,7 @@ static void surface_remove_pbo(struct wined3d_surface *surface, const struct win
|
||||
checkGLcall("glDeleteBuffers(1, &surface->pbo)");
|
||||
|
||||
surface->pbo = 0;
|
||||
@ -88,7 +88,7 @@ index 9f74a39..d3bbb54 100644
|
||||
}
|
||||
|
||||
static ULONG surface_resource_incref(struct wined3d_resource *resource)
|
||||
@@ -1225,7 +1225,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@@ -1224,7 +1224,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
surface_prepare_system_memory(surface);
|
||||
memset(surface->resource.heap_memory, 0, surface->resource.size);
|
||||
wined3d_resource_validate_location(&surface->resource, WINED3D_LOCATION_SYSMEM);
|
||||
@ -97,7 +97,7 @@ index 9f74a39..d3bbb54 100644
|
||||
|
||||
/* We also get here when the ddraw swapchain is destroyed, for example
|
||||
* for a mode switch. In this case this surface won't necessarily be
|
||||
@@ -1237,7 +1237,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@@ -1236,7 +1236,7 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
{
|
||||
surface_prepare_map_memory(surface);
|
||||
surface_load_location(surface, context, surface->resource.map_binding);
|
||||
@ -106,7 +106,7 @@ index 9f74a39..d3bbb54 100644
|
||||
}
|
||||
|
||||
/* Destroy PBOs, but load them into real sysmem before */
|
||||
@@ -1275,7 +1275,10 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
@@ -1274,7 +1274,10 @@ static void surface_unload(struct wined3d_resource *resource)
|
||||
|
||||
static void wined3d_surface_location_invalidated(struct wined3d_resource *resource, DWORD location)
|
||||
{
|
||||
@ -118,7 +118,7 @@ index 9f74a39..d3bbb54 100644
|
||||
}
|
||||
|
||||
static const struct wined3d_resource_ops surface_resource_ops =
|
||||
@@ -1743,7 +1746,7 @@ HRESULT surface_upload_from_surface(struct wined3d_surface *dst_surface, const P
|
||||
@@ -1742,7 +1745,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);
|
||||
@ -127,7 +127,7 @@ index 9f74a39..d3bbb54 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -1874,7 +1877,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
@@ -1873,7 +1876,7 @@ void surface_load(struct wined3d_surface *surface, struct wined3d_context *conte
|
||||
|
||||
surface_prepare_map_memory(surface);
|
||||
surface_load_location(surface, context, surface->resource.map_binding);
|
||||
@ -136,7 +136,7 @@ index 9f74a39..d3bbb54 100644
|
||||
/* Switching color keying on / off may change the internal format. */
|
||||
if (ck_changed)
|
||||
wined3d_texture_force_reload(surface->container);
|
||||
@@ -2822,7 +2825,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
@@ -2821,7 +2824,7 @@ HRESULT CDECL wined3d_surface_map(struct wined3d_surface *surface,
|
||||
}
|
||||
|
||||
if (!(flags & (WINED3D_MAP_NO_DIRTY_UPDATE | WINED3D_MAP_READONLY)))
|
||||
@ -145,7 +145,7 @@ index 9f74a39..d3bbb54 100644
|
||||
|
||||
switch (surface->resource.map_binding)
|
||||
{
|
||||
@@ -2938,7 +2941,7 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
@@ -2937,7 +2940,7 @@ HRESULT CDECL wined3d_surface_getdc(struct wined3d_surface *surface, HDC *dc)
|
||||
}
|
||||
|
||||
surface_load_location(surface, context, WINED3D_LOCATION_DIB);
|
||||
@ -154,7 +154,7 @@ index 9f74a39..d3bbb54 100644
|
||||
|
||||
if (context)
|
||||
context_release(context);
|
||||
@@ -2987,7 +2990,7 @@ HRESULT CDECL wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc)
|
||||
@@ -2986,7 +2989,7 @@ HRESULT CDECL wined3d_surface_releasedc(struct wined3d_surface *surface, HDC dc)
|
||||
context = context_acquire(device, NULL);
|
||||
|
||||
surface_load_location(surface, context, surface->resource.map_binding);
|
||||
@ -163,7 +163,7 @@ index 9f74a39..d3bbb54 100644
|
||||
if (context)
|
||||
context_release(context);
|
||||
}
|
||||
@@ -3361,7 +3364,7 @@ static void fb_copy_to_texture_direct(struct wined3d_surface *dst_surface, struc
|
||||
@@ -3360,7 +3363,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);
|
||||
@ -172,7 +172,7 @@ index 9f74a39..d3bbb54 100644
|
||||
}
|
||||
|
||||
/* Uses the hardware to stretch and flip the image */
|
||||
@@ -3429,7 +3432,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3428,7 +3431,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 */
|
||||
@ -181,7 +181,7 @@ index 9f74a39..d3bbb54 100644
|
||||
}
|
||||
|
||||
/* Make sure that the top pixel is always above the bottom pixel, and keep a separate upside down flag
|
||||
@@ -3635,7 +3638,7 @@ static void fb_copy_to_texture_hwstretch(struct wined3d_surface *dst_surface, st
|
||||
@@ -3633,7 +3636,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);
|
||||
@ -190,8 +190,8 @@ index 9f74a39..d3bbb54 100644
|
||||
}
|
||||
|
||||
/* Front buffer coordinates are always full screen coordinates, but our GL
|
||||
@@ -3948,7 +3951,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
(old_color_key_flags & WINEDDSD_CKSRCBLT) ? &old_blt_key : NULL);
|
||||
@@ -3946,7 +3949,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
(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);
|
||||
- surface_invalidate_location(dst_surface, ~dst_surface->container->resource.draw_binding);
|
||||
@ -199,7 +199,7 @@ index 9f74a39..d3bbb54 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -4192,18 +4195,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
@@ -4190,18 +4193,6 @@ void surface_load_ds_location(struct wined3d_surface *surface, struct wined3d_co
|
||||
surface->ds_current_size.cy = surface->resource.height;
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ index 9f74a39..d3bbb54 100644
|
||||
static DWORD resource_access_from_location(DWORD location)
|
||||
{
|
||||
switch (location)
|
||||
@@ -5683,7 +5674,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
@@ -5681,7 +5672,7 @@ HRESULT CDECL wined3d_surface_blt(struct wined3d_surface *dst_surface, const REC
|
||||
context_release(context);
|
||||
|
||||
wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding);
|
||||
@ -227,7 +227,7 @@ index 9f74a39..d3bbb54 100644
|
||||
|
||||
return WINED3D_OK;
|
||||
}
|
||||
@@ -5812,7 +5803,7 @@ static HRESULT surface_init(struct wined3d_surface *surface, struct wined3d_text
|
||||
@@ -5810,7 +5801,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);
|
||||
@ -287,10 +287,10 @@ index bdb4b67..e64715e 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 f2bba1a..6d82ce6 100644
|
||||
index b574123..5e8847c 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -855,7 +855,7 @@ static void texture2d_sub_resource_add_dirty_region(struct wined3d_resource *sub
|
||||
@@ -764,7 +764,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);
|
||||
@ -299,7 +299,7 @@ index f2bba1a..6d82ce6 100644
|
||||
}
|
||||
|
||||
static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource)
|
||||
@@ -867,9 +867,7 @@ static void texture2d_sub_resource_cleanup(struct wined3d_resource *sub_resource
|
||||
@@ -776,9 +776,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)
|
||||
{
|
||||
@ -311,10 +311,10 @@ index f2bba1a..6d82ce6 100644
|
||||
|
||||
static void texture2d_sub_resource_validate_location(struct wined3d_resource *sub_resource, DWORD location)
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index acee894..878a98c 100644
|
||||
index f64521c..bc4ca48 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -2365,7 +2365,6 @@ HRESULT surface_color_fill(struct wined3d_surface *s,
|
||||
@@ -2366,7 +2366,6 @@ HRESULT surface_color_fill(struct wined3d_surface *s,
|
||||
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;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 25c76a39621543e2650531aef15d131d04927f3b Mon Sep 17 00:00:00 2001
|
||||
From f329e2cef96141fd66cd2957eafa665b6b1289da Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 20 Dec 2012 14:19:52 +0100
|
||||
Subject: wined3d: Get rid of state access in shader_generate_glsl_declarations
|
||||
@ -8,10 +8,10 @@ Subject: wined3d: Get rid of state access in shader_generate_glsl_declarations
|
||||
1 file changed, 6 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index 4ef473b..3b049e6 100644
|
||||
index 9c0d052..7fc6289 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -954,10 +954,8 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
@@ -949,10 +949,8 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
const struct wined3d_shader_reg_maps *reg_maps, const struct shader_glsl_ctx_priv *ctx_priv)
|
||||
{
|
||||
const struct wined3d_shader_version *version = ®_maps->shader_version;
|
||||
@ -22,16 +22,16 @@ index 4ef473b..3b049e6 100644
|
||||
unsigned int i, extra_constants_needed = 0;
|
||||
const struct wined3d_shader_lconst *lconst;
|
||||
const char *prefix;
|
||||
@@ -1186,7 +1184,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
@@ -1190,7 +1188,7 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
{
|
||||
UINT in_count = min(vec4_varyings(version->major, gl_info), shader->limits->packed_input);
|
||||
|
||||
- if (use_vs(state))
|
||||
+ if (ps_args->vp_mode == vertexshader)
|
||||
shader_addline(buffer, "varying vec4 %s_in[%u];\n", prefix, in_count);
|
||||
else
|
||||
/* TODO: Write a replacement shader for the fixed function
|
||||
@@ -1233,21 +1231,14 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
shader_addline(buffer, "varying vec4 %s_link[%u];\n", prefix, in_count);
|
||||
shader_addline(buffer, "vec4 %s_in[%u];\n", prefix, in_count);
|
||||
}
|
||||
@@ -1231,21 +1229,14 @@ static void shader_generate_glsl_declarations(const struct wined3d_context *cont
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -59,5 +59,5 @@ index 4ef473b..3b049e6 100644
|
||||
shader_addline(buffer, "vec4 vpos;\n");
|
||||
}
|
||||
--
|
||||
2.1.3
|
||||
2.2.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5b81c252f4f8dbb4073e28b5a6d0c181b74facdc Mon Sep 17 00:00:00 2001
|
||||
From 28c64ddb55487597d6542e81e47d27b08cb8351c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Tue, 1 Oct 2013 14:31:56 +0200
|
||||
Subject: wined3d: Hackily introduce a multithreaded command stream
|
||||
@ -10,7 +10,7 @@ Subject: wined3d: Hackily introduce a multithreaded command stream
|
||||
3 files changed, 365 insertions(+), 38 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index 7bebe80..1122073 100644
|
||||
index 408e9b5..625012f 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -24,8 +24,19 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d);
|
||||
@ -476,7 +476,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_texture(struct wined3d_cs *cs, UINT stage, struct wined3d_texture *texture)
|
||||
@@ -699,11 +878,13 @@ void wined3d_cs_emit_set_texture(struct wined3d_cs *cs, UINT stage, struct wined
|
||||
@@ -699,12 +878,14 @@ void wined3d_cs_emit_set_texture(struct wined3d_cs *cs, UINT stage, struct wined
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -486,12 +486,13 @@ index 7bebe80..1122073 100644
|
||||
const struct wined3d_cs_set_shader_resource_view *op = data;
|
||||
|
||||
cs->state.shader_resource_view[op->type][op->view_idx] = op->view;
|
||||
device_invalidate_state(cs->device, STATE_SHADER_RESOURCE_BINDING);
|
||||
+
|
||||
+ return sizeof(*op);
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_shader_resource_view(struct wined3d_cs *cs, enum wined3d_shader_type type,
|
||||
@@ -720,11 +901,13 @@ void wined3d_cs_emit_set_shader_resource_view(struct wined3d_cs *cs, enum wined3
|
||||
@@ -721,12 +902,14 @@ void wined3d_cs_emit_set_shader_resource_view(struct wined3d_cs *cs, enum wined3
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -501,12 +502,13 @@ index 7bebe80..1122073 100644
|
||||
const struct wined3d_cs_set_sampler *op = data;
|
||||
|
||||
cs->state.sampler[op->type][op->sampler_idx] = op->sampler;
|
||||
device_invalidate_state(cs->device, STATE_SHADER_RESOURCE_BINDING);
|
||||
+
|
||||
+ return sizeof(*op);
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_sampler(struct wined3d_cs *cs, enum wined3d_shader_type type,
|
||||
@@ -741,12 +924,14 @@ void wined3d_cs_emit_set_sampler(struct wined3d_cs *cs, enum wined3d_shader_type
|
||||
@@ -743,13 +926,15 @@ void wined3d_cs_emit_set_sampler(struct wined3d_cs *cs, enum wined3d_shader_type
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -517,12 +519,13 @@ index 7bebe80..1122073 100644
|
||||
|
||||
cs->state.shader[op->type] = op->shader;
|
||||
device_invalidate_state(cs->device, STATE_SHADER(op->type));
|
||||
device_invalidate_state(cs->device, STATE_SHADER_RESOURCE_BINDING);
|
||||
+
|
||||
+ return sizeof(*op);
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_shader(struct wined3d_cs *cs, enum wined3d_shader_type type, struct wined3d_shader *shader)
|
||||
@@ -761,12 +946,14 @@ void wined3d_cs_emit_set_shader(struct wined3d_cs *cs, enum wined3d_shader_type
|
||||
@@ -764,12 +949,14 @@ void wined3d_cs_emit_set_shader(struct wined3d_cs *cs, enum wined3d_shader_type
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -538,7 +541,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_render_state(struct wined3d_cs *cs, enum wined3d_render_state state, DWORD value)
|
||||
@@ -781,12 +968,14 @@ void wined3d_cs_emit_set_render_state(struct wined3d_cs *cs, enum wined3d_render
|
||||
@@ -784,12 +971,14 @@ void wined3d_cs_emit_set_render_state(struct wined3d_cs *cs, enum wined3d_render
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -554,7 +557,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_texture_state(struct wined3d_cs *cs, UINT stage,
|
||||
@@ -803,12 +992,14 @@ void wined3d_cs_emit_set_texture_state(struct wined3d_cs *cs, UINT stage,
|
||||
@@ -806,12 +995,14 @@ void wined3d_cs_emit_set_texture_state(struct wined3d_cs *cs, UINT stage,
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -570,7 +573,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_sampler_state(struct wined3d_cs *cs, UINT sampler_idx,
|
||||
@@ -825,13 +1016,15 @@ void wined3d_cs_emit_set_sampler_state(struct wined3d_cs *cs, UINT sampler_idx,
|
||||
@@ -828,13 +1019,15 @@ void wined3d_cs_emit_set_sampler_state(struct wined3d_cs *cs, UINT sampler_idx,
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -588,7 +591,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_transform(struct wined3d_cs *cs, enum wined3d_transform_state state,
|
||||
@@ -842,17 +1035,19 @@ void wined3d_cs_emit_set_transform(struct wined3d_cs *cs, enum wined3d_transform
|
||||
@@ -845,17 +1038,19 @@ void wined3d_cs_emit_set_transform(struct wined3d_cs *cs, enum wined3d_transform
|
||||
op = cs->ops->require_space(cs, sizeof(*op));
|
||||
op->opcode = WINED3D_CS_OP_SET_TRANSFORM;
|
||||
op->state = state;
|
||||
@ -611,7 +614,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_clip_plane(struct wined3d_cs *cs, UINT plane_idx, const struct wined3d_vec4 *plane)
|
||||
@@ -862,17 +1057,19 @@ void wined3d_cs_emit_set_clip_plane(struct wined3d_cs *cs, UINT plane_idx, const
|
||||
@@ -865,17 +1060,19 @@ void wined3d_cs_emit_set_clip_plane(struct wined3d_cs *cs, UINT plane_idx, const
|
||||
op = cs->ops->require_space(cs, sizeof(*op));
|
||||
op->opcode = WINED3D_CS_OP_SET_CLIP_PLANE;
|
||||
op->plane_idx = plane_idx;
|
||||
@ -634,7 +637,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_set_material(struct wined3d_cs *cs, const struct wined3d_material *material)
|
||||
@@ -881,12 +1078,12 @@ void wined3d_cs_emit_set_material(struct wined3d_cs *cs, const struct wined3d_ma
|
||||
@@ -884,12 +1081,12 @@ void wined3d_cs_emit_set_material(struct wined3d_cs *cs, const struct wined3d_ma
|
||||
|
||||
op = cs->ops->require_space(cs, sizeof(*op));
|
||||
op->opcode = WINED3D_CS_OP_SET_MATERIAL;
|
||||
@ -649,7 +652,7 @@ index 7bebe80..1122073 100644
|
||||
{
|
||||
struct wined3d_adapter *adapter = cs->device->adapter;
|
||||
HRESULT hr;
|
||||
@@ -896,6 +1093,8 @@ static void wined3d_cs_exec_reset_state(struct wined3d_cs *cs, const void *data)
|
||||
@@ -899,6 +1096,8 @@ static void wined3d_cs_exec_reset_state(struct wined3d_cs *cs, const void *data)
|
||||
if (FAILED(hr = state_init(&cs->state, &adapter->gl_info, &adapter->d3d_info,
|
||||
WINED3D_STATE_NO_REF | WINED3D_STATE_INIT_DEFAULT)))
|
||||
ERR("Failed to initialize CS state, hr %#x.\n", hr);
|
||||
@ -658,7 +661,7 @@ index 7bebe80..1122073 100644
|
||||
}
|
||||
|
||||
void wined3d_cs_emit_reset_state(struct wined3d_cs *cs)
|
||||
@@ -908,8 +1107,9 @@ void wined3d_cs_emit_reset_state(struct wined3d_cs *cs)
|
||||
@@ -911,8 +1110,9 @@ void wined3d_cs_emit_reset_state(struct wined3d_cs *cs)
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -669,7 +672,7 @@ index 7bebe80..1122073 100644
|
||||
/* WINED3D_CS_OP_PRESENT */ wined3d_cs_exec_present,
|
||||
/* WINED3D_CS_OP_CLEAR */ wined3d_cs_exec_clear,
|
||||
/* WINED3D_CS_OP_DRAW */ wined3d_cs_exec_draw,
|
||||
@@ -967,6 +1167,58 @@ static const struct wined3d_cs_ops wined3d_cs_st_ops =
|
||||
@@ -970,6 +1170,58 @@ static const struct wined3d_cs_ops wined3d_cs_st_ops =
|
||||
wined3d_cs_st_submit,
|
||||
};
|
||||
|
||||
@ -728,7 +731,7 @@ index 7bebe80..1122073 100644
|
||||
struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device)
|
||||
{
|
||||
const struct wined3d_gl_info *gl_info = &device->adapter->gl_info;
|
||||
@@ -992,12 +1244,60 @@ struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device)
|
||||
@@ -995,12 +1247,60 @@ struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -790,7 +793,7 @@ index 7bebe80..1122073 100644
|
||||
HeapFree(GetProcessHeap(), 0, cs);
|
||||
}
|
||||
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
|
||||
index 758ba43..5471e6e 100644
|
||||
index 08021a2..088e59a 100644
|
||||
--- a/dlls/wined3d/wined3d_main.c
|
||||
+++ b/dlls/wined3d/wined3d_main.c
|
||||
@@ -85,6 +85,7 @@ struct wined3d_settings wined3d_settings =
|
||||
@ -817,10 +820,10 @@ index 758ba43..5471e6e 100644
|
||||
|
||||
if (appkey) RegCloseKey( appkey );
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 9c05b6c..5c5d52c 100644
|
||||
index 9a9097e..a32634d 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -279,6 +279,7 @@ struct wined3d_settings
|
||||
@@ -278,6 +278,7 @@ struct wined3d_settings
|
||||
unsigned int max_sm_gs;
|
||||
unsigned int max_sm_ps;
|
||||
BOOL no_3d;
|
||||
@ -828,7 +831,7 @@ index 9c05b6c..5c5d52c 100644
|
||||
};
|
||||
|
||||
extern struct wined3d_settings wined3d_settings DECLSPEC_HIDDEN;
|
||||
@@ -2525,6 +2526,18 @@ HRESULT state_init(struct wined3d_state *state, const struct wined3d_gl_info *gl
|
||||
@@ -2547,6 +2548,18 @@ HRESULT state_init(struct wined3d_state *state, const struct wined3d_gl_info *gl
|
||||
const struct wined3d_d3d_info *d3d_info, DWORD flags) DECLSPEC_HIDDEN;
|
||||
void state_unbind_resources(struct wined3d_state *state) DECLSPEC_HIDDEN;
|
||||
|
||||
@ -847,7 +850,7 @@ index 9c05b6c..5c5d52c 100644
|
||||
struct wined3d_cs_ops
|
||||
{
|
||||
void *(*require_space)(struct wined3d_cs *cs, size_t size);
|
||||
@@ -2536,9 +2549,14 @@ struct wined3d_cs
|
||||
@@ -2558,9 +2571,14 @@ struct wined3d_cs
|
||||
const struct wined3d_cs_ops *ops;
|
||||
struct wined3d_device *device;
|
||||
struct wined3d_state state;
|
||||
@ -863,5 +866,5 @@ index 9c05b6c..5c5d52c 100644
|
||||
|
||||
struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device) DECLSPEC_HIDDEN;
|
||||
--
|
||||
2.1.3
|
||||
2.2.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 121bee481f27a42d6a759a29a01b002ecffec65e Mon Sep 17 00:00:00 2001
|
||||
From c83ce498b74f5b547be9e158619a20079ea77681 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 4 Jul 2013 20:40:39 +0200
|
||||
Subject: wined3d: Add cs waiting debug code
|
||||
@ -8,10 +8,10 @@ Subject: wined3d: Add cs waiting debug code
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 8212c96..b7891d9 100644
|
||||
index 084b4db..ac41088 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -667,6 +667,12 @@ HRESULT CDECL wined3d_texture_set_color_key(struct wined3d_texture *texture,
|
||||
@@ -576,6 +576,12 @@ HRESULT CDECL wined3d_texture_set_color_key(struct wined3d_texture *texture,
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ index 8212c96..b7891d9 100644
|
||||
+
|
||||
if (color_key)
|
||||
{
|
||||
switch (flags & ~WINEDDCKEY_COLORSPACE)
|
||||
switch (flags & ~WINED3D_CKEY_COLORSPACE)
|
||||
--
|
||||
2.1.3
|
||||
2.2.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 1e5a27c212131073531e6c1cf8d45b9d67d70693 Mon Sep 17 00:00:00 2001
|
||||
From a0e7463e86758e478993d59c339f590283e3532b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Wed, 2 Oct 2013 23:28:56 +0200
|
||||
Subject: wined3d: Unload resources through the CS in uninit_3d.
|
||||
@ -8,10 +8,10 @@ Subject: wined3d: Unload resources through the CS in uninit_3d.
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 29a4d33..8d896a0 100644
|
||||
index e0e2c82..1d7d733 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -1067,9 +1067,10 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
@@ -1066,9 +1066,10 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
LIST_FOR_EACH_ENTRY_SAFE(resource, cursor, &device->resources, struct wined3d_resource, resource_list_entry)
|
||||
{
|
||||
TRACE("Unloading resource %p.\n", resource);
|
||||
@ -22,7 +22,7 @@ index 29a4d33..8d896a0 100644
|
||||
+ if (wined3d_settings.cs_multithreaded)
|
||||
+ device->cs->ops->finish(device->cs);
|
||||
|
||||
wine_rb_for_each_entry(&device->samplers, device_free_sampler, device);
|
||||
wine_rb_clear(&device->samplers, device_free_sampler, NULL);
|
||||
|
||||
--
|
||||
2.2.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 07c7bd93784b29a1b75f701b9a358c85babfc003 Mon Sep 17 00:00:00 2001
|
||||
From f706600f7ffc7710a06809ff57ea8d59793f7d87 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Fri, 11 Oct 2013 10:17:42 +0200
|
||||
Subject: wined3d: Delete GL contexts through the CS in uninit_3d.
|
||||
@ -8,10 +8,10 @@ Subject: wined3d: Delete GL contexts through the CS in uninit_3d.
|
||||
1 file changed, 4 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index f171df8..2d00ada 100644
|
||||
index 8d80044..bffeebb 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -1014,8 +1014,6 @@ static void device_free_sampler(struct wine_rb_entry *entry, void *context)
|
||||
@@ -1013,8 +1013,6 @@ static void device_free_sampler(struct wine_rb_entry *entry, void *context)
|
||||
HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
{
|
||||
struct wined3d_resource *resource, *cursor;
|
||||
@ -20,7 +20,7 @@ index f171df8..2d00ada 100644
|
||||
struct wined3d_surface *surface;
|
||||
UINT i;
|
||||
|
||||
@@ -1027,12 +1025,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
@@ -1026,12 +1024,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
if (wined3d_settings.cs_multithreaded)
|
||||
device->cs->ops->finish(device->cs);
|
||||
|
||||
@ -33,14 +33,14 @@ index f171df8..2d00ada 100644
|
||||
if (device->logo_texture)
|
||||
wined3d_texture_decref(device->logo_texture);
|
||||
|
||||
@@ -1062,24 +1054,8 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
@@ -1061,24 +1053,8 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
TRACE("Unloading resource %p.\n", resource);
|
||||
wined3d_cs_emit_evict_resource(device->cs, resource);
|
||||
}
|
||||
- if (wined3d_settings.cs_multithreaded)
|
||||
- device->cs->ops->finish(device->cs);
|
||||
-
|
||||
- wine_rb_for_each_entry(&device->samplers, device_free_sampler, device);
|
||||
- wine_rb_clear(&device->samplers, device_free_sampler, NULL);
|
||||
-
|
||||
- /* Destroy the depth blt resources, they will be invalid after the reset. Also free shader
|
||||
- * private data, it might contain opengl pointers
|
||||
@ -59,7 +59,7 @@ index f171df8..2d00ada 100644
|
||||
|
||||
if (device->back_buffer_view)
|
||||
{
|
||||
@@ -1087,8 +1063,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
@@ -1086,8 +1062,6 @@ HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
|
||||
device->back_buffer_view = NULL;
|
||||
}
|
||||
|
||||
@ -68,16 +68,16 @@ index f171df8..2d00ada 100644
|
||||
for (i = 0; i < device->swapchain_count; ++i)
|
||||
{
|
||||
TRACE("Releasing the implicit swapchain %u.\n", i);
|
||||
@@ -4166,6 +4140,8 @@ void device_delete_opengl_contexts_cs(struct wined3d_device *device, struct wine
|
||||
@@ -4165,6 +4139,8 @@ void device_delete_opengl_contexts_cs(struct wined3d_device *device, struct wine
|
||||
context = context_acquire(device, NULL);
|
||||
gl_info = context->gl_info;
|
||||
|
||||
+ wine_rb_for_each_entry(&device->samplers, device_free_sampler, device);
|
||||
+ wine_rb_clear(&device->samplers, device_free_sampler, NULL);
|
||||
+
|
||||
if (device->depth_blt_texture)
|
||||
{
|
||||
gl_info->gl_ops.gl.p_glDeleteTextures(1, &device->depth_blt_texture);
|
||||
@@ -4185,6 +4161,7 @@ void device_delete_opengl_contexts_cs(struct wined3d_device *device, struct wine
|
||||
@@ -4184,6 +4160,7 @@ void device_delete_opengl_contexts_cs(struct wined3d_device *device, struct wine
|
||||
|
||||
HeapFree(GetProcessHeap(), 0, swapchain->context);
|
||||
swapchain->context = NULL;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,3 @@
|
||||
Fixes: [11674] Support for CSMT (command stream) to increase graphic performance
|
||||
Depends: wined3d-CSMT_Helper
|
||||
Depends: wined3d-Color_Key
|
||||
IfDefined: STAGING_CSMT
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 4e1dac79637c3e4f1e606a3a7fcb6dd2974de7c5 Mon Sep 17 00:00:00 2001
|
||||
From: Christian Costa <titan.costa@gmail.com>
|
||||
Date: Thu, 8 Jan 2015 00:16:39 +0100
|
||||
Subject: wined3d: Use proper color key type define when calling
|
||||
wined3d_texture_set_color_key.
|
||||
|
||||
Fix bug https://bugs.winehq.org/show_bug.cgi?id=37748 which was a regression caused
|
||||
by commit a8ab56941577a01e17b947cddd374ba52ffd8245.
|
||||
---
|
||||
dlls/wined3d/surface.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index fb27c8a..ad41834 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -3687,12 +3687,12 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
else if (flags & WINEDDBLT_KEYSRCOVERRIDE)
|
||||
{
|
||||
/* Use color key from DDBltFx */
|
||||
- wined3d_texture_set_color_key(src_surface->container, WINEDDSD_CKSRCBLT, &DDBltFx->ddckSrcColorkey);
|
||||
+ wined3d_texture_set_color_key(src_surface->container, WINEDDCKEY_SRCBLT, &DDBltFx->ddckSrcColorkey);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Do not use color key */
|
||||
- wined3d_texture_set_color_key(src_surface->container, WINEDDSD_CKSRCBLT, NULL);
|
||||
+ wined3d_texture_set_color_key(src_surface->container, WINEDDCKEY_SRCBLT, NULL);
|
||||
}
|
||||
|
||||
surface_blt_to_drawable(device, filter,
|
||||
@@ -3700,7 +3700,7 @@ static HRESULT surface_blt_special(struct wined3d_surface *dst_surface, const RE
|
||||
src_surface, src_rect, dst_surface, dst_rect);
|
||||
|
||||
/* Restore the color key parameters */
|
||||
- wined3d_texture_set_color_key(src_surface->container, WINEDDSD_CKSRCBLT,
|
||||
+ wined3d_texture_set_color_key(src_surface->container, WINEDDCKEY_SRCBLT,
|
||||
(old_color_key_flags & WINEDDSD_CKSRCBLT) ? &old_blt_key : NULL);
|
||||
|
||||
surface_validate_location(dst_surface, dst_surface->container->resource.draw_binding);
|
||||
--
|
||||
2.2.1
|
||||
|
@ -1 +0,0 @@
|
||||
Fixes: [37748] Fix color key regression causing pink rectangles around text
|
@ -1,4 +1,4 @@
|
||||
From 61ed71d54a87884d8c771c548b8311fe48ee3c6a Mon Sep 17 00:00:00 2001
|
||||
From 864636075386f9057b53c8e076978d95dd782360 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Thomases <ken@codeweavers.com>
|
||||
Date: Sun, 14 Sep 2014 19:46:53 -0500
|
||||
Subject: Revert "wined3d: Track if a context's private hdc has had its pixel
|
||||
@ -11,7 +11,7 @@ This reverts commit f3aa4812382caa459b9b612f66998c6ea8257594.
|
||||
2 files changed, 6 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index 693267e..402878d 100644
|
||||
index d3f7629..11c8804 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -800,13 +800,9 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
|
||||
@ -87,19 +87,20 @@ index 693267e..402878d 100644
|
||||
ret->needs_set = 1;
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index ff98ec0..16323ca 100644
|
||||
index 4373805..d98fcae 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1103,8 +1103,7 @@ struct wined3d_context
|
||||
@@ -1158,9 +1158,8 @@ struct wined3d_context
|
||||
DWORD rebind_fbo : 1;
|
||||
DWORD needs_set : 1;
|
||||
DWORD hdc_is_private : 1;
|
||||
- DWORD hdc_has_format : 1; /* only meaningful if hdc_is_private */
|
||||
- DWORD padding : 16;
|
||||
+ DWORD padding : 17;
|
||||
DWORD update_shader_resource_bindings : 1;
|
||||
- DWORD padding : 15;
|
||||
+ DWORD padding : 16;
|
||||
DWORD shader_update_mask;
|
||||
DWORD constant_update_mask;
|
||||
DWORD numbered_array_mask;
|
||||
--
|
||||
2.1.0
|
||||
2.2.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9266e76fa92231e5186cbd8bd9e0b2c2ba1c47d4 Mon Sep 17 00:00:00 2001
|
||||
From 65c52a9b806970acd90fc23461373a3df6632c76 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Thomases <ken@codeweavers.com>
|
||||
Date: Sun, 14 Sep 2014 19:47:03 -0500
|
||||
Subject: Revert "wined3d: Track if a context's hdc is private so we never need
|
||||
@ -11,7 +11,7 @@ This reverts commit 272873823e9beff91ea1a62845fc7e5f94a9636f.
|
||||
2 files changed, 9 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
|
||||
index 402878d..a347a8b 100644
|
||||
index 11c8804..f49c9b9 100644
|
||||
--- a/dlls/wined3d/context.c
|
||||
+++ b/dlls/wined3d/context.c
|
||||
@@ -797,7 +797,7 @@ static BOOL context_restore_pixel_format(struct wined3d_context *ctx)
|
||||
@ -110,19 +110,20 @@ index 402878d..a347a8b 100644
|
||||
ret->needs_set = 1;
|
||||
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index 16323ca..849a44a 100644
|
||||
index d98fcae..1c6c345 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -1102,8 +1102,7 @@ struct wined3d_context
|
||||
@@ -1157,9 +1157,8 @@ struct wined3d_context
|
||||
DWORD lowest_disabled_stage : 4; /* Max MAX_TEXTURES, 8 */
|
||||
DWORD rebind_fbo : 1;
|
||||
DWORD needs_set : 1;
|
||||
- DWORD hdc_is_private : 1;
|
||||
- DWORD padding : 17;
|
||||
+ DWORD padding : 18;
|
||||
DWORD update_shader_resource_bindings : 1;
|
||||
- DWORD padding : 16;
|
||||
+ DWORD padding : 17;
|
||||
DWORD shader_update_mask;
|
||||
DWORD constant_update_mask;
|
||||
DWORD numbered_array_mask;
|
||||
--
|
||||
2.1.0
|
||||
2.2.1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user