Disable multithreaded DirectX tests if WINETEST_NO_MT_D3D is set.

The nouveau graphics driver's support for multithreaded OpenGL is
buggy at least up to (18.2.8) so that any Wine test that performs
multithreaded OpenGL accesses freezes, crashes the Mesa stack and
eventually freezes the whole computer. Typically the first such test
is d2d1:d2d1.
The relevant tests have a --single option but WineTest neither knows
which tests accept this option, nor whether it is needed for the
current host.
The WINETEST_NO_MT_D3D environnement variable can be set on hosts
that need it (such as the cw2-gtx560 box) and is automatically
inherited by the relevant tests thus working around this issue.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Francois Gouget 2019-04-02 19:26:10 +02:00 committed by Alexandre Julliard
parent f926811e0d
commit 1684b01118
4 changed files with 8 additions and 0 deletions

View File

@ -8051,6 +8051,8 @@ START_TEST(d2d1)
unsigned int argc, i;
char **argv;
use_mt = !getenv("WINETEST_NO_MT_D3D");
argc = winetest_get_mainargs(&argv);
for (i = 2; i < argc; ++i)
{

View File

@ -17925,6 +17925,8 @@ START_TEST(d3d10core)
unsigned int argc, i;
char **argv;
use_mt = !getenv("WINETEST_NO_MT_D3D");
argc = winetest_get_mainargs(&argv);
for (i = 2; i < argc; ++i)
{

View File

@ -29191,6 +29191,8 @@ START_TEST(d3d11)
unsigned int argc, i;
char **argv;
use_mt = !getenv("WINETEST_NO_MT_D3D");
argc = winetest_get_mainargs(&argv);
for (i = 2; i < argc; ++i)
{

View File

@ -5041,6 +5041,8 @@ START_TEST(dxgi)
registry_mode.dmSize = sizeof(registry_mode);
ok(EnumDisplaySettingsW(NULL, ENUM_REGISTRY_SETTINGS, &registry_mode), "Failed to get display mode.\n");
use_mt = !getenv("WINETEST_NO_MT_D3D");
argc = winetest_get_mainargs(&argv);
for (i = 2; i < argc; ++i)
{