Rebase against 64e4a03a92498abea428dc567372f3996fa9dc3a.

This commit is contained in:
Sebastian Lackner 2017-04-04 08:27:19 +02:00
parent 3a8de0f3f4
commit a781d341a5
8 changed files with 258 additions and 535 deletions

View File

@ -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

View File

@ -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

View File

@ -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 },';

View File

@ -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

View File

@ -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;

View File

@ -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