Module: wine
Branch: master
Commit: c9a0006e4fda676239b1db0b322dda83cc7f141c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c9a0006e4fda676239b1db0b…
Author: Nikolay Sivov <nsivov(a)codeweavers.com>
Date: Thu Jan 14 22:45:04 2021 +0300
dcomp: Add DCompositionCreateDevice2().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50357
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/dcomp/Makefile.in | 1 +
dlls/dcomp/dcomp.spec | 2 +-
dlls/dcomp/device.c | 32 ++++++++++++++++++++++++++++++++
3 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/dlls/dcomp/Makefile.in b/dlls/dcomp/Makefile.in
index 6d75a87980f..436b88993ab 100644
--- a/dlls/dcomp/Makefile.in
+++ b/dlls/dcomp/Makefile.in
@@ -3,6 +3,7 @@ MODULE = dcomp.dll
EXTRADLLFLAGS = -mno-cygwin
C_SRCS = \
+ device.c \
main.c
RC_SRCS = version.rc
diff --git a/dlls/dcomp/dcomp.spec b/dlls/dcomp/dcomp.spec
index 03801ebba6f..10e9f49a412 100644
--- a/dlls/dcomp/dcomp.spec
+++ b/dlls/dcomp/dcomp.spec
@@ -13,7 +13,7 @@
@ stub CreateEffectDescription
@ stub DCompositionAttachMouseDragToHwnd
@ stub DCompositionAttachMouseWheelToHwnd
-@ stub DCompositionCreateDevice2
+@ stdcall DCompositionCreateDevice2(ptr ptr ptr)
@ stub DCompositionCreateDevice3
@ stub DCompositionCreateDevice
@ stub DCompositionCreateSurfaceHandle
diff --git a/dlls/dcomp/device.c b/dlls/dcomp/device.c
new file mode 100644
index 00000000000..efc6bacdb08
--- /dev/null
+++ b/dlls/dcomp/device.c
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2020 Nikolay Sivov for CodeWeavers
+ *
+ * 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 <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "objidl.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(dcomp);
+
+HRESULT WINAPI DCompositionCreateDevice2(IUnknown *rendering_device, REFIID iid, void **device)
+{
+ FIXME("%p, %s, %p.\n", rendering_device, debugstr_guid(iid), device);
+
+ return E_NOTIMPL;
+}
Module: wine
Branch: master
Commit: 3cc8147594de868884d3e57babff8eef058c63a3
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3cc8147594de868884d3e57b…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Tue Jan 12 21:15:57 2021 +0330
wined3d: Use glFinish() for synchronisation when cleaning up a destroyed context in wined3d_context_gl_cleanup().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50485
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/wined3d/context_gl.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/context_gl.c b/dlls/wined3d/context_gl.c
index 467f5b64d6c..a51e5ec9095 100644
--- a/dlls/wined3d/context_gl.c
+++ b/dlls/wined3d/context_gl.c
@@ -1374,9 +1374,20 @@ static void wined3d_context_gl_cleanup(struct wined3d_context_gl *context_gl)
if (context_gl->valid)
{
- wined3d_context_gl_submit_command_fence(context_gl);
- wined3d_context_gl_wait_command_fence(context_gl,
- wined3d_device_gl(context_gl->c.device)->current_fence_id - 1);
+ /* If we're here because we're switching away from a previously
+ * destroyed context, acquiring a context in order to submit a fence
+ * is problematic. (In particular, we'd end up back here again in the
+ * process of switching to the newly acquired context.) */
+ if (context_gl->c.destroyed)
+ {
+ gl_info->gl_ops.gl.p_glFinish();
+ }
+ else
+ {
+ wined3d_context_gl_submit_command_fence(context_gl);
+ wined3d_context_gl_wait_command_fence(context_gl,
+ wined3d_device_gl(context_gl->c.device)->current_fence_id - 1);
+ }
if (context_gl->dummy_arbfp_prog)
GL_EXTCALL(glDeleteProgramsARB(1, &context_gl->dummy_arbfp_prog));
Module: tools
Branch: master
Commit: e9d470d7e63724d8f989603b47830ece7fc1b1d9
URL: https://source.winehq.org/git/tools.git/?a=commit;h=e9d470d7e63724d8f989603…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Fri Jan 15 16:09:19 2021 +0100
testbot: Take into account configure for the build timeout.
It is likely that configure will need to be rerun after a
make_makefiles, even outside of full rebuilds. In particular this is
the case when adding a new dll, program or test directory.
So take the configure time out of the full-rebuild timeouts and into its
own $ReconfigBuildTimeout setting.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/lib/WineTestBot/Config.pm | 11 +++++++----
testbot/lib/WineTestBot/PatchUtils.pm | 7 +++++--
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/testbot/lib/WineTestBot/Config.pm b/testbot/lib/WineTestBot/Config.pm
index 68709e5..2f01e95 100644
--- a/testbot/lib/WineTestBot/Config.pm
+++ b/testbot/lib/WineTestBot/Config.pm
@@ -31,7 +31,7 @@ use vars qw (@ISA @EXPORT @EXPORT_OK $UseSSL $LogDir $DataDir $BinDir
$MaxVMsWhenIdle $WaitForBoot $SleepAfterBoot $SleepAfterRevert
$VMToolTimeout $MaxVMErrors $MaxTaskTries $AdminEMail $RobotEMail
$WinePatchToOverride $WinePatchCc
- $ExeBuildTimeout $ExeModuleTimeout
+ $ReconfigBuildTimeout $ExeBuildTimeout $ExeModuleTimeout
$WineBuildTimeout $WineModuleTimeout $TimeoutMargin
$SuiteTimeout $SingleTimeout $SingleAvgTime $MaxUnitSize
$TagPrefix $ProjectName $PatchesMailingList $LDAPServer
@@ -48,7 +48,7 @@ require Exporter;
$SleepAfterRevert
$VMToolTimeout $MaxVMErrors $MaxTaskTries $AdminEMail
$RobotEMail $WinePatchToOverride $WinePatchCc $SuiteTimeout
- $ExeBuildTimeout $ExeModuleTimeout
+ $ReconfigBuildTimeout $ExeBuildTimeout $ExeModuleTimeout
$WineBuildTimeout $WineModuleTimeout $TimeoutMargin
$SuiteTimeout $SingleTimeout $SingleAvgTime $MaxUnitSize
$TagPrefix $ProjectName $PatchesMailingList
@@ -109,15 +109,18 @@ $MaxVMErrors = 3;
# How many times to run a test that fails before giving up.
$MaxTaskTries = 3;
+# Build configure timeout (in seconds)
+$ReconfigBuildTimeout = 60;
+
# Exe build timeouts (in seconds)
# - For a full build
-$ExeBuildTimeout = 7 * 60;
+$ExeBuildTimeout = 6 * 60;
# - For a single module
$ExeModuleTimeout = 30;
# Wine build timeouts (in seconds)
# - For a full build
-$WineBuildTimeout = 25 * 60;
+$WineBuildTimeout = 24 * 60;
# - For a single module
$WineModuleTimeout = 60;
diff --git a/testbot/lib/WineTestBot/PatchUtils.pm b/testbot/lib/WineTestBot/PatchUtils.pm
index 26c16c4..974ff8e 100644
--- a/testbot/lib/WineTestBot/PatchUtils.pm
+++ b/testbot/lib/WineTestBot/PatchUtils.pm
@@ -521,19 +521,22 @@ sub GetBuildTimeout($$)
# Set $ModuleCount to 0 if a full rebuild is needed
my $ModuleCount = (!$Impacts or $Impacts->{RebuildRoot}) ? 0 :
scalar(keys %{$Impacts->{BuildModules}});
+ my $Reconfig = (!$Impacts or $Impacts->{Autoconf} or $Impacts->{MakeMakefiles});
my ($ExeTimeout, $WineTimeout) = (0, 0);
if ($ExeCount)
{
my $OneBuild = $ModuleCount ? $ModuleCount * $ExeModuleTimeout :
$ExeBuildTimeout;
- $ExeTimeout = $ExeCount * min($ExeBuildTimeout, $OneBuild);
+ $ExeTimeout = $ExeCount * min($ExeBuildTimeout, $OneBuild) +
+ ($Reconfig ? $ExeCount * $ReconfigBuildTimeout : 0);
}
if ($WineCount)
{
my $OneBuild = $ModuleCount ? $ModuleCount * $WineModuleTimeout :
$WineBuildTimeout;
- $WineTimeout = $WineCount * min($WineBuildTimeout, $OneBuild);
+ $WineTimeout = $WineCount * min($WineBuildTimeout, $OneBuild) +
+ ($Reconfig ? $WineCount * $ReconfigBuildTimeout : 0);
}
return $ExeTimeout + $WineTimeout;
Module: tools
Branch: master
Commit: 82e6398fe915ce4a4ef0c86c43c4b9bf8788b8fb
URL: https://source.winehq.org/git/tools.git/?a=commit;h=82e6398fe915ce4a4ef0c86…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Tue Jan 12 18:15:03 2021 +0100
testbot/Engine: Fix attachment support in HandleWinePatchMLSubmission().
By default MIME:Parser::Filer uses the attachement's recommended
filename to save it to disk. However that name is tainted which causes
Perl to throw an exception.
Since we don't actually care about the filename (all mailing list
patches are called 'patch.diff'), simply tell the filer to generate
its own filename.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/bin/Engine.pl | 1 +
1 file changed, 1 insertion(+)
diff --git a/testbot/bin/Engine.pl b/testbot/bin/Engine.pl
index 48bb797..db9d82d 100755
--- a/testbot/bin/Engine.pl
+++ b/testbot/bin/Engine.pl
@@ -428,6 +428,7 @@ sub HandleWinePatchMLSubmission()
# Process the email
my $Parser = new MIME::Parser;
$Parser->output_dir($WorkDir);
+ $Parser->filer->ignore_filename(1);
my $Entity = $Parser->parse_open($FullMessageFileName);
my $ErrMessage = CreatePatches()->NewPatch($Entity);
if (defined $ErrMessage)