Module: tools
Branch: master
Commit: 0aa7f8d0d9c6b5dad1076553fffdf1078886784b
URL: https://source.winehq.org/git/tools.git/?a=commit;h=0aa7f8d0d9c6b5dad107655…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Mon Feb 12 00:59:49 2018 +0100
winetest: Fail tests units that spam the test report.
To not exceed the maximum report size, each test unit must print less
than 2.5KB of traces on average. So report tests that hog more than
10 times that.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
winetest/dissect | 10 +++++++++-
winetest/winetest.conf | 3 +++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/winetest/dissect b/winetest/dissect
index 4cb31b0..9635f0a 100755
--- a/winetest/dissect
+++ b/winetest/dissect
@@ -48,7 +48,7 @@ sub BEGIN
}
unshift @INC, $1 if ($0 =~ m=^(/.*)/[^/]+$=);
}
-use vars qw/$workdir $gitdir $gitweb $maxmult $maxuserskips $maxfailedtests $maxfilesize $acceptprediluvianwin/;
+use vars qw/$workdir $gitdir $gitweb $maxmult $maxuserskips $maxfailedtests $maxunitsize $maxfilesize $acceptprediluvianwin/;
require "winetest.conf";
my $name0=$0;
@@ -435,6 +435,7 @@ while ($line = <IN> || "")
#
my ($dll, $unit, $source, $rev, $result) = ("", "", "");
+my $unitsize = 0;
my ($failures, $todo, $skipped) = (0, 0, 0);
my ($s_failures, $s_todo, $s_skipped, $s_total) = (0, 0, 0, 0);
my (%pids, $rc, $summary, $broken);
@@ -523,6 +524,11 @@ sub close_test_unit($)
$todo ||= $s_todo;
$skipped ||= $s_skipped;
+ if ($unitsize > $maxunitsize)
+ {
+ add_test_line("end", "The test prints too much data ($unitsize bytes)");
+ $extra_failures++;
+ }
if (!$broken and defined $rc)
{
# Check the exit code, particularly against failures reported
@@ -563,6 +569,7 @@ sub close_test_unit($)
}
$dll = $unit = "";
+ $unitsize = 0;
$failures = $todo = $skipped = 0;
$s_failures = $s_todo = $s_skipped = $s_total = 0;
$extra_failures = $broken = 0;
@@ -572,6 +579,7 @@ sub close_test_unit($)
$line =~ /^Test output:/ or mydie "no test header: $line";
while ($line = <IN>) {
+ $unitsize += length($line);
next if ($line =~ /^\s*$/);
chomp $line;
$line =~ s/\r+$//;
diff --git a/winetest/winetest.conf b/winetest/winetest.conf
index ba15514..84824a2 100644
--- a/winetest/winetest.conf
+++ b/winetest/winetest.conf
@@ -17,6 +17,9 @@ $maxfailedtests = 50;
# Whether to accept test results from Win9x / NT4 versions
$acceptprediluvianwin = 0;
+# Maximum amount of traces for a test unit
+$maxunitsize = 32 * 1024;
+
# Maximum size of the report file
# This should be in line with programs\winetest\send.c
$maxfilesize = 1.5 * 1024 * 1024;
Module: wine
Branch: master
Commit: 11dd0601c5184e58c708d7763b9f55e572d52e1b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=11dd0601c5184e58c708d776…
Author: Józef Kucia <jkucia(a)codeweavers.com>
Date: Fri Feb 9 13:03:22 2018 +0100
wined3d: Add registry setting to enable multisample textures.
The registry key helps to add multisample textures support incrementally
without breaking the current support for multisample renderbuffers. It
might be also useful to have a possibility to disable multisample
textures when they are the default code path for multisampling in
wined3d.
Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/wined3d/directx.c | 2 ++
dlls/wined3d/wined3d_main.c | 3 +++
dlls/wined3d/wined3d_private.h | 1 +
3 files changed, 6 insertions(+)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index 1be6d2b..6dee5ed 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -4244,6 +4244,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
WARN("Disabling ARB_draw_indirect because ARB_base_instance is not supported.\n");
gl_info->supported[ARB_DRAW_INDIRECT] = FALSE;
}
+ if (gl_info->supported[ARB_TEXTURE_MULTISAMPLE] && !wined3d_settings.multisample_textures)
+ gl_info->supported[ARB_TEXTURE_MULTISAMPLE] = FALSE;
wined3d_adapter_init_limits(gl_info);
diff --git a/dlls/wined3d/wined3d_main.c b/dlls/wined3d/wined3d_main.c
index 28a34a7..d3d3f2d 100644
--- a/dlls/wined3d/wined3d_main.c
+++ b/dlls/wined3d/wined3d_main.c
@@ -81,6 +81,7 @@ struct wined3d_settings wined3d_settings =
PCI_DEVICE_NONE,/* PCI Device ID */
0, /* The default of memory is set in init_driver_info */
NULL, /* No wine logo by default */
+ FALSE, /* Prefer multisample renderbuffers to multisample textures by default. */
~0u, /* Don't force a specific sample count by default. */
FALSE, /* No strict draw ordering. */
FALSE, /* Don't range check relative addressing indices in float constants. */
@@ -284,6 +285,8 @@ static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
if (!wined3d_settings.logo) ERR("Failed to allocate logo path memory.\n");
else memcpy(wined3d_settings.logo, buffer, len);
}
+ if (!get_config_key_dword(hkey, appkey, "MultisampleTextures", &wined3d_settings.multisample_textures))
+ ERR_(winediag)("Setting multisample textures to %#x.\n", wined3d_settings.multisample_textures);
if (!get_config_key_dword(hkey, appkey, "SampleCount", &wined3d_settings.sample_count))
ERR_(winediag)("Forcing sample count to %u. This may not be compatible with all applications.\n",
wined3d_settings.sample_count);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index bf17a1c..f1f7530 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -391,6 +391,7 @@ struct wined3d_settings
/* Memory tracking and object counting. */
UINT64 emulated_textureram;
char *logo;
+ unsigned int multisample_textures;
unsigned int sample_count;
BOOL strict_draw_ordering;
BOOL check_float_constants;