mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-01-28 22:04:43 -08:00
Rebase against 64e4a03a92498abea428dc567372f3996fa9dc3a.
This commit is contained in:
parent
3a8de0f3f4
commit
a781d341a5
@ -1,20 +1,16 @@
|
||||
From a3c2ca382ff462bd602e65fda389ada28268012b Mon Sep 17 00:00:00 2001
|
||||
From 959bc50b0ad246420e4f697e28371a3bb99f69f2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Fri, 15 Jan 2016 13:01:15 +0100
|
||||
Subject: kernelbase: Add dll and add stub for QuirkIsEnabled.
|
||||
|
||||
---
|
||||
.../api-ms-win-core-quirks-l1-1-0.spec | 2 +-
|
||||
dlls/kernelbase/Makefile.in | 3 ++
|
||||
dlls/kernelbase/kernelbase.spec | 2 +-
|
||||
dlls/kernelbase/misc.c | 37 ++++++++++++++++++++++
|
||||
dlls/shlwapi/shlwapi.spec | 2 +-
|
||||
tools/make_specfiles | 1 +
|
||||
6 files changed, 44 insertions(+), 3 deletions(-)
|
||||
create mode 100644 dlls/kernelbase/misc.c
|
||||
.../api-ms-win-core-quirks-l1-1-0.spec | 2 +-
|
||||
dlls/kernelbase/kernelbase.spec | 2 +-
|
||||
dlls/kernelbase/main.c | 10 ++++++++++
|
||||
3 files changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec b/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
index 761120f6f6..54ce373b96 100644
|
||||
index e8f77c73f3..1485512d0e 100644
|
||||
--- a/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
+++ b/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
@@ -1,6 +1,6 @@
|
||||
@ -23,19 +19,10 @@ index 761120f6f6..54ce373b96 100644
|
||||
-@ stub QuirkIsEnabled
|
||||
+@ stdcall QuirkIsEnabled(ptr) kernelbase.QuirkIsEnabled
|
||||
@ stub QuirkIsEnabled2
|
||||
@ stub QuirkIsEnabled3
|
||||
@ stdcall QuirkIsEnabled3(ptr ptr) kernelbase.QuirkIsEnabled3
|
||||
@ stub QuirkIsEnabledForPackage
|
||||
diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in
|
||||
index b9caed090b..2beb34bafd 100644
|
||||
--- a/dlls/kernelbase/Makefile.in
|
||||
+++ b/dlls/kernelbase/Makefile.in
|
||||
@@ -1 +1,4 @@
|
||||
MODULE = kernelbase.dll
|
||||
+
|
||||
+C_SRCS = \
|
||||
+ misc.c
|
||||
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
|
||||
index da7c50a820..3772842ca4 100644
|
||||
index 67003da332..9fba5803b2 100644
|
||||
--- a/dlls/kernelbase/kernelbase.spec
|
||||
+++ b/dlls/kernelbase/kernelbase.spec
|
||||
@@ -1223,7 +1223,7 @@
|
||||
@ -45,44 +32,22 @@ index da7c50a820..3772842ca4 100644
|
||||
-# @ stub QuirkIsEnabled
|
||||
+@ stdcall QuirkIsEnabled(ptr)
|
||||
# @ stub QuirkIsEnabled2
|
||||
# @ stub QuirkIsEnabled3
|
||||
@ stdcall QuirkIsEnabled3(ptr ptr)
|
||||
# @ stub QuirkIsEnabledForPackage
|
||||
diff --git a/dlls/kernelbase/misc.c b/dlls/kernelbase/misc.c
|
||||
new file mode 100644
|
||||
index 0000000000..be1591aee7
|
||||
--- /dev/null
|
||||
+++ b/dlls/kernelbase/misc.c
|
||||
@@ -0,0 +1,37 @@
|
||||
+/*
|
||||
+ * kernelbase
|
||||
+ *
|
||||
diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c
|
||||
index 30cba3f6ca..6673f9b63e 100644
|
||||
--- a/dlls/kernelbase/main.c
|
||||
+++ b/dlls/kernelbase/main.c
|
||||
@@ -1,4 +1,5 @@
|
||||
/*
|
||||
+ * Copyright (c) 2016 Michael Müller
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include <stdarg.h>
|
||||
+#include "windef.h"
|
||||
+#include "winbase.h"
|
||||
+
|
||||
+#include "wine/debug.h"
|
||||
+
|
||||
+WINE_DEFAULT_DEBUG_CHANNEL(kernelbase);
|
||||
+
|
||||
+/***********************************************************************
|
||||
* Copyright 2017 Andrey Gusev
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
@@ -21,6 +22,15 @@
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(kernelbase);
|
||||
|
||||
/***********************************************************************
|
||||
+ * QuirkIsEnabled (KERNELBASE.@)
|
||||
+ */
|
||||
+BOOL WINAPI QuirkIsEnabled(void *arg)
|
||||
@ -90,31 +55,11 @@ index 0000000000..be1591aee7
|
||||
+ FIXME("(%p): stub\n", arg);
|
||||
+ return FALSE;
|
||||
+}
|
||||
diff --git a/dlls/shlwapi/shlwapi.spec b/dlls/shlwapi/shlwapi.spec
|
||||
index 6b6ead2696..7c2a9d117e 100644
|
||||
--- a/dlls/shlwapi/shlwapi.spec
|
||||
+++ b/dlls/shlwapi/shlwapi.spec
|
||||
@@ -417,7 +417,7 @@
|
||||
417 stdcall -noname SHWinHelpOnDemandA(long str long ptr long)
|
||||
418 stdcall -ordinal MLFreeLibrary(long)
|
||||
419 stdcall -noname SHFlushSFCacheWrap()
|
||||
-420 stub @ # CMemStream::Commit
|
||||
+420 stub @ # CMemStream::Commit, don't forward
|
||||
421 stub -noname SHLoadPersistedDataObject
|
||||
422 stdcall -noname SHGlobalCounterCreateNamedA(str long)
|
||||
423 stdcall -noname SHGlobalCounterCreateNamedW(wstr long)
|
||||
diff --git a/tools/make_specfiles b/tools/make_specfiles
|
||||
index d00603a41f..7a54f75801 100755
|
||||
--- a/tools/make_specfiles
|
||||
+++ b/tools/make_specfiles
|
||||
@@ -252,6 +252,7 @@ my @dll_groups =
|
||||
[
|
||||
"kernel32",
|
||||
"advapi32",
|
||||
+ "shlwapi",
|
||||
"user32",
|
||||
"shlwapi",
|
||||
"version",
|
||||
+
|
||||
+/***********************************************************************
|
||||
* QuirkIsEnabled3 (KERNELBASE.@)
|
||||
*/
|
||||
BOOL WINAPI QuirkIsEnabled3(void *unk1, void *unk2)
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -1,58 +0,0 @@
|
||||
From 0238a83494068c02721b955ab2cc52e58e7ed5a4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 4 Feb 2016 06:19:57 +0100
|
||||
Subject: kernelbase: Add stub for QuirkIsEnabled3.
|
||||
|
||||
---
|
||||
.../api-ms-win-core-quirks-l1-1-0.spec | 2 +-
|
||||
dlls/kernelbase/kernelbase.spec | 2 +-
|
||||
dlls/kernelbase/misc.c | 10 ++++++++++
|
||||
3 files changed, 12 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec b/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
index 54ce373b96..1485512d0e 100644
|
||||
--- a/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
+++ b/dlls/api-ms-win-core-quirks-l1-1-0/api-ms-win-core-quirks-l1-1-0.spec
|
||||
@@ -2,7 +2,7 @@
|
||||
@ stub QuirkGetData2
|
||||
@ stdcall QuirkIsEnabled(ptr) kernelbase.QuirkIsEnabled
|
||||
@ stub QuirkIsEnabled2
|
||||
-@ stub QuirkIsEnabled3
|
||||
+@ stdcall QuirkIsEnabled3(ptr ptr) kernelbase.QuirkIsEnabled3
|
||||
@ stub QuirkIsEnabledForPackage
|
||||
@ stub QuirkIsEnabledForPackage2
|
||||
@ stub QuirkIsEnabledForProcess
|
||||
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
|
||||
index 3772842ca4..9fba5803b2 100644
|
||||
--- a/dlls/kernelbase/kernelbase.spec
|
||||
+++ b/dlls/kernelbase/kernelbase.spec
|
||||
@@ -1225,7 +1225,7 @@
|
||||
# @ stub QuirkGetData2
|
||||
@ stdcall QuirkIsEnabled(ptr)
|
||||
# @ stub QuirkIsEnabled2
|
||||
-# @ stub QuirkIsEnabled3
|
||||
+@ stdcall QuirkIsEnabled3(ptr ptr)
|
||||
# @ stub QuirkIsEnabledForPackage
|
||||
# @ stub QuirkIsEnabledForPackage2
|
||||
# @ stub QuirkIsEnabledForPackage3
|
||||
diff --git a/dlls/kernelbase/misc.c b/dlls/kernelbase/misc.c
|
||||
index be1591aee7..e703e6d244 100644
|
||||
--- a/dlls/kernelbase/misc.c
|
||||
+++ b/dlls/kernelbase/misc.c
|
||||
@@ -35,3 +35,13 @@ BOOL WINAPI QuirkIsEnabled(void *arg)
|
||||
FIXME("(%p): stub\n", arg);
|
||||
return FALSE;
|
||||
}
|
||||
+
|
||||
+/***********************************************************************
|
||||
+ * QuirkIsEnabled3 (KERNELBASE.@)
|
||||
+ */
|
||||
+BOOL WINAPI QuirkIsEnabled3(void *arg1, void *arg2)
|
||||
+{
|
||||
+ static int once;
|
||||
+ if (!once++) FIXME("(%p, %p): stub\n", arg1, arg2);
|
||||
+ return FALSE;
|
||||
+}
|
||||
--
|
||||
2.11.0
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "63bcfa3354edd910ee52b8134af191f7a774b701"
|
||||
echo "64e4a03a92498abea428dc567372f3996fa9dc3a"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -2788,10 +2788,10 @@ fi
|
||||
# | win-uxtheme-themes-l1-1-0.spec, dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in, dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-
|
||||
# | xaml-pal-l1-1-0.spec, dlls/ext-ms-win-xaml-pal-l1-1-0/main.c, dlls/feclient/Makefile.in, dlls/feclient/feclient.spec,
|
||||
# | dlls/feclient/main.c, dlls/iertutil/Makefile.in, dlls/iertutil/iertutil.spec, dlls/iertutil/main.c,
|
||||
# | dlls/kernelbase/Makefile.in, dlls/kernelbase/kernelbase.spec, dlls/kernelbase/misc.c, dlls/shcore/Makefile.in,
|
||||
# | dlls/shcore/main.c, dlls/shcore/shcore.spec, dlls/shlwapi/shlwapi.spec, dlls/uiautomationcore/Makefile.in,
|
||||
# | dlls/uiautomationcore/uia_main.c, dlls/uiautomationcore/uiautomationcore.spec, include/Makefile.in,
|
||||
# | include/shellscalingapi.h, include/uiautomationcoreapi.h, tools/make_specfiles
|
||||
# | dlls/kernelbase/kernelbase.spec, dlls/kernelbase/main.c, dlls/shcore/Makefile.in, dlls/shcore/main.c,
|
||||
# | dlls/shcore/shcore.spec, dlls/uiautomationcore/Makefile.in, dlls/uiautomationcore/uia_main.c,
|
||||
# | dlls/uiautomationcore/uiautomationcore.spec, include/Makefile.in, include/shellscalingapi.h,
|
||||
# | include/uiautomationcoreapi.h, tools/make_specfiles
|
||||
# |
|
||||
if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
|
||||
patch_apply api-ms-win-Stub_DLLs/0001-kernelbase-Add-dll-and-add-stub-for-QuirkIsEnabled.patch
|
||||
@ -2812,7 +2812,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
|
||||
patch_apply api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch
|
||||
patch_apply api-ms-win-Stub_DLLs/0022-shcore-Add-SetProcessDpiAwareness-stub.patch
|
||||
patch_apply api-ms-win-Stub_DLLs/0023-shcore-Implement-stub-for-GetDpiForMonitor.patch
|
||||
patch_apply api-ms-win-Stub_DLLs/0024-kernelbase-Add-stub-for-QuirkIsEnabled3.patch
|
||||
patch_apply api-ms-win-Stub_DLLs/0025-shcore-Add-stub-for-GetProcessDpiAwareness.patch
|
||||
patch_apply api-ms-win-Stub_DLLs/0026-feclient-Add-stub-dll.patch
|
||||
patch_apply api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch
|
||||
@ -2835,7 +2834,6 @@ if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then
|
||||
printf '%s\n' '+ { "Michael Müller", "api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "shcore: Add SetProcessDpiAwareness stub.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "shcore: Implement stub for GetDpiForMonitor.", 1 },';
|
||||
printf '%s\n' '+ { "Michael Müller", "kernelbase: Add stub for QuirkIsEnabled3.", 1 },';
|
||||
printf '%s\n' '+ { "Sebastian Lackner", "shcore: Add stub for GetProcessDpiAwareness.", 1 },';
|
||||
printf '%s\n' '+ { "Michael Müller", "feclient: Add stub dll.", 1 },';
|
||||
printf '%s\n' '+ { "Michael Müller", "uiautomationcore: Add dll and stub some functions.", 1 },';
|
||||
@ -8611,7 +8609,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then
|
||||
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Update the swap interval through the CS in reset.", 1 },';
|
||||
printf '%s\n' '+ { "Nils Kuhnhenn", "wined3d: Fix context_acquire not being called from the command thread in wined3d_texture_add_dirty_region.", 1 },';
|
||||
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Wrap GL BOs in a structure.", 1 },';
|
||||
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Avoid destroying views in color and depth fills.", 1 },';
|
||||
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Add a separate variable to check if queries are started.", 1 },';
|
||||
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Wait for the cs to finish before destroying the device.", 1 },';
|
||||
printf '%s\n' '+ { "Stefan Dösinger", "wined3d: Add swapchain waits.", 1 },';
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 706645d08ae7ebd9175f91532077694b988aef7d Mon Sep 17 00:00:00 2001
|
||||
From bc0a87c3b6553fae719b2181bc878e8b9e59838c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Mon, 29 Apr 2013 18:49:53 +0200
|
||||
Subject: wined3d: Send blits through the command stream.
|
||||
@ -11,10 +11,10 @@ between surface_blt and surface_blt_ugly isn't particularly nice.
|
||||
2 files changed, 16 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index c3a10a2d13a..31453ed0ff8 100644
|
||||
index 8fced7ece3..9dc893bfeb 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4154,16 +4154,16 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
|
||||
@@ -4148,16 +4148,16 @@ HRESULT CDECL wined3d_device_copy_sub_resource_region(struct wined3d_device *dev
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -41,12 +41,12 @@ index c3a10a2d13a..31453ed0ff8 100644
|
||||
|
||||
if (!src_box)
|
||||
diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
|
||||
index 60e53f55463..9d0909852cd 100644
|
||||
index 8a92a77872..2b249c26c0 100644
|
||||
--- a/dlls/wined3d/texture.c
|
||||
+++ b/dlls/wined3d/texture.c
|
||||
@@ -3189,8 +3189,13 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned
|
||||
@@ -3301,8 +3301,13 @@ HRESULT CDECL wined3d_texture_blt(struct wined3d_texture *dst_texture, unsigned
|
||||
if (dst_texture->sub_resources[dst_sub_resource_idx].map_count
|
||||
|| (src_texture && src_texture->sub_resources[src_sub_resource_idx].map_count))
|
||||
|| src_texture->sub_resources[src_sub_resource_idx].map_count)
|
||||
{
|
||||
- WARN("Sub-resource is busy, returning WINEDDERR_SURFACEBUSY.\n");
|
||||
- return WINEDDERR_SURFACEBUSY;
|
||||
@ -59,7 +59,7 @@ index 60e53f55463..9d0909852cd 100644
|
||||
+ }
|
||||
}
|
||||
|
||||
if ((dst_format_flags & WINED3DFMT_FLAG_BLOCKS) && (flags & WINED3D_BLT_COLOR_FILL))
|
||||
if ((src_format_flags & (WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL))
|
||||
--
|
||||
2.11.0
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
From bf11cf98c90e7f841ac3ccc1860409f918325203 Mon Sep 17 00:00:00 2001
|
||||
From 8ec257b616f5e216f9c41eb5a08c8e1e10e57495 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefan@codeweavers.com>
|
||||
Date: Thu, 4 Jul 2013 21:10:16 +0200
|
||||
Subject: wined3d: Send render target view clears through the command stream
|
||||
|
||||
---
|
||||
dlls/d3d9/tests/visual.c | 2 +-
|
||||
dlls/d3d9/tests/visual.c | 4 ++--
|
||||
dlls/wined3d/cs.c | 49 ++++++++++++++++++++++++++++++++++++++++++
|
||||
dlls/wined3d/device.c | 6 ++----
|
||||
dlls/wined3d/wined3d_private.h | 3 +++
|
||||
4 files changed, 55 insertions(+), 5 deletions(-)
|
||||
4 files changed, 56 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
|
||||
index 7070895aa2..c3034c4909 100644
|
||||
index 7070895aa2..c14ac9e938 100644
|
||||
--- a/dlls/d3d9/tests/visual.c
|
||||
+++ b/dlls/d3d9/tests/visual.c
|
||||
@@ -1337,7 +1337,7 @@ static void color_fill_test(void)
|
||||
@ -23,8 +23,17 @@ index 7070895aa2..c3034c4909 100644
|
||||
/* Vendor-specific formats like ATI2N are a non-issue here since they're not
|
||||
* supported as offscreen plain surfaces and do not support D3DUSAGE_RENDERTARGET
|
||||
* when created as texture. */
|
||||
@@ -1458,7 +1458,7 @@ static void color_fill_test(void)
|
||||
{
|
||||
hr = IDirect3DDevice9_ColorFill(device, surface, &rect2, 0xdeadbeef);
|
||||
if (formats[i].flags & BLOCKS)
|
||||
- todo_wine ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x, fmt=%s.\n", hr, formats[i].name);
|
||||
+ ok(hr == D3DERR_INVALIDCALL, "Got unexpected hr %#x, fmt=%s.\n", hr, formats[i].name);
|
||||
else
|
||||
ok(SUCCEEDED(hr), "Failed to color fill, hr %#x, fmt=%s.\n", hr, formats[i].name);
|
||||
}
|
||||
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c
|
||||
index bf1b63b897..72e177a41e 100644
|
||||
index 80a9322224..c30dfbc898 100644
|
||||
--- a/dlls/wined3d/cs.c
|
||||
+++ b/dlls/wined3d/cs.c
|
||||
@@ -68,6 +68,7 @@ enum wined3d_cs_op
|
||||
@ -54,7 +63,7 @@ index bf1b63b897..72e177a41e 100644
|
||||
static void wined3d_cs_exec_sync(struct wined3d_cs *cs, const void *data)
|
||||
{
|
||||
}
|
||||
@@ -1940,6 +1953,41 @@ void wined3d_cs_emit_push_constants(struct wined3d_cs *cs, enum wined3d_push_con
|
||||
@@ -1952,6 +1965,41 @@ void wined3d_cs_emit_push_constants(struct wined3d_cs *cs, enum wined3d_push_con
|
||||
cs->ops->submit(cs);
|
||||
}
|
||||
|
||||
@ -96,7 +105,7 @@ index bf1b63b897..72e177a41e 100644
|
||||
static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void *data) =
|
||||
{
|
||||
/* WINED3D_CS_OP_SYNC */ wined3d_cs_exec_sync,
|
||||
@@ -1984,6 +2032,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
@@ -1996,6 +2044,7 @@ static void (* const wined3d_cs_op_handlers[])(struct wined3d_cs *cs, const void
|
||||
/* WINED3D_CS_OP_BLT_SUB_RESOURCE */ wined3d_cs_exec_blt_sub_resource,
|
||||
/* WINED3D_CS_OP_UPDATE_SUB_RESOURCE */ wined3d_cs_exec_update_sub_resource,
|
||||
/* WINED3D_CS_OP_PUSH_CONSTANTS */ wined3d_cs_exec_push_constants,
|
||||
@ -105,10 +114,10 @@ index bf1b63b897..72e177a41e 100644
|
||||
|
||||
static void *wined3d_cs_st_require_space(struct wined3d_cs *cs, size_t size)
|
||||
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
|
||||
index 500506d789..f1b90f5ee1 100644
|
||||
index 9dc893bfeb..33c1451a99 100644
|
||||
--- a/dlls/wined3d/device.c
|
||||
+++ b/dlls/wined3d/device.c
|
||||
@@ -4328,10 +4328,8 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
|
||||
@@ -4324,10 +4324,8 @@ HRESULT CDECL wined3d_device_clear_rendertarget_view(struct wined3d_device *devi
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
@ -122,10 +131,10 @@ index 500506d789..f1b90f5ee1 100644
|
||||
|
||||
struct wined3d_rendertarget_view * CDECL wined3d_device_get_rendertarget_view(const struct wined3d_device *device,
|
||||
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
|
||||
index ad72e10d7a..59b446167b 100644
|
||||
index 26df981c77..43cca136d1 100644
|
||||
--- a/dlls/wined3d/wined3d_private.h
|
||||
+++ b/dlls/wined3d/wined3d_private.h
|
||||
@@ -3232,6 +3232,9 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso
|
||||
@@ -3237,6 +3237,9 @@ void wined3d_cs_emit_blt_sub_resource(struct wined3d_cs *cs, struct wined3d_reso
|
||||
const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter) DECLSPEC_HIDDEN;
|
||||
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects,
|
||||
DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil) DECLSPEC_HIDDEN;
|
||||
|
@ -1,100 +0,0 @@
|
||||
From 3d5c666305162466d808a7f8c8940264c9af019c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Stefan=20D=C3=B6singer?= <stefandoesinger@gmx.at>
|
||||
Date: Thu, 7 Apr 2016 20:04:17 +0100
|
||||
Subject: wined3d: Avoid destroying views in color and depth fills.
|
||||
|
||||
---
|
||||
dlls/wined3d/surface.c | 54 ++++++++++++++++++++------------------------------
|
||||
1 file changed, 22 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
|
||||
index 24c8941ed7..5169cd8cea 100644
|
||||
--- a/dlls/wined3d/surface.c
|
||||
+++ b/dlls/wined3d/surface.c
|
||||
@@ -548,8 +548,7 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
|
||||
struct wined3d_resource *resource = &surface->container->resource;
|
||||
struct wined3d_device *device = resource->device;
|
||||
const struct wined3d_blitter_ops *blitter;
|
||||
- struct wined3d_rendertarget_view *view;
|
||||
- struct wined3d_view_desc view_desc;
|
||||
+ struct wined3d_rendertarget_view view;
|
||||
HRESULT hr;
|
||||
|
||||
if (!(blitter = wined3d_select_blitter(&device->adapter->gl_info, &device->adapter->d3d_info,
|
||||
@@ -559,21 +558,17 @@ static HRESULT wined3d_surface_depth_fill(struct wined3d_surface *surface, const
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
- view_desc.format_id = resource->format->id;
|
||||
- view_desc.flags = 0;
|
||||
- view_desc.u.texture.level_idx = surface->texture_level;
|
||||
- view_desc.u.texture.level_count = 1;
|
||||
- view_desc.u.texture.layer_idx = surface->texture_layer;
|
||||
- view_desc.u.texture.layer_count = 1;
|
||||
- if (FAILED(hr = wined3d_rendertarget_view_create(&view_desc,
|
||||
- resource, NULL, &wined3d_null_parent_ops, &view)))
|
||||
- {
|
||||
- ERR("Failed to create rendertarget view, hr %#x.\n", hr);
|
||||
- return hr;
|
||||
- }
|
||||
+ view.resource = resource;
|
||||
+ view.parent = NULL;
|
||||
+ view.parent_ops = &wined3d_null_parent_ops;
|
||||
+ view.format = resource->format;
|
||||
+ view.buffer_offset = 0;
|
||||
+ view.width = wined3d_texture_get_level_width(surface->container, surface->texture_level);
|
||||
+ view.height = wined3d_texture_get_level_height(surface->container, surface->texture_level);;
|
||||
+ view.depth = 1;
|
||||
+ view.sub_resource_idx = surface->texture_layer * surface->container->level_count + surface->texture_level;
|
||||
|
||||
- hr = blitter->depth_fill(device, view, rect, WINED3DCLEAR_ZBUFFER, depth, 0);
|
||||
- wined3d_rendertarget_view_decref(view);
|
||||
+ hr = blitter->depth_fill(device, &view, rect, WINED3DCLEAR_ZBUFFER, depth, 0);
|
||||
|
||||
return hr;
|
||||
}
|
||||
@@ -2259,8 +2254,7 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
|
||||
struct wined3d_resource *resource = &s->container->resource;
|
||||
struct wined3d_device *device = resource->device;
|
||||
const struct wined3d_blitter_ops *blitter;
|
||||
- struct wined3d_rendertarget_view *view;
|
||||
- struct wined3d_view_desc view_desc;
|
||||
+ struct wined3d_rendertarget_view view;
|
||||
HRESULT hr;
|
||||
|
||||
if (!(blitter = wined3d_select_blitter(&device->adapter->gl_info, &device->adapter->d3d_info,
|
||||
@@ -2270,21 +2264,17 @@ HRESULT surface_color_fill(struct wined3d_surface *s, const RECT *rect, const st
|
||||
return WINED3DERR_INVALIDCALL;
|
||||
}
|
||||
|
||||
- view_desc.format_id = resource->format->id;
|
||||
- view_desc.flags = 0;
|
||||
- view_desc.u.texture.level_idx = s->texture_level;
|
||||
- view_desc.u.texture.level_count = 1;
|
||||
- view_desc.u.texture.layer_idx = s->texture_layer;
|
||||
- view_desc.u.texture.layer_count = 1;
|
||||
- if (FAILED(hr = wined3d_rendertarget_view_create(&view_desc,
|
||||
- resource, NULL, &wined3d_null_parent_ops, &view)))
|
||||
- {
|
||||
- ERR("Failed to create rendertarget view, hr %#x.\n", hr);
|
||||
- return hr;
|
||||
- }
|
||||
+ view.resource = resource;
|
||||
+ view.parent = NULL;
|
||||
+ view.parent_ops = &wined3d_null_parent_ops;
|
||||
+ view.format = resource->format;
|
||||
+ view.buffer_offset = 0;
|
||||
+ view.width = wined3d_texture_get_level_width(s->container, s->texture_level);
|
||||
+ view.height = wined3d_texture_get_level_height(s->container, s->texture_level);;
|
||||
+ view.depth = 1;
|
||||
+ view.sub_resource_idx = s->texture_layer * s->container->level_count + s->texture_level;
|
||||
|
||||
- hr = blitter->color_fill(device, view, rect, color);
|
||||
- wined3d_rendertarget_view_decref(view);
|
||||
+ hr = blitter->color_fill(device, &view, rect, color);
|
||||
|
||||
return hr;
|
||||
}
|
||||
--
|
||||
2.11.0
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user