ntdll/tests: Fix the XState AllFeatureSize check on old CPUs.

On old CPUs lacking XSAVEC, Windows 8+ does not set AllFeatureSize and
AllFeatures.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51188
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Francois Gouget 2021-05-28 18:12:34 +02:00 committed by Alexandre Julliard
parent abd3e8f3ec
commit dc94b03799
1 changed files with 5 additions and 3 deletions

View File

@ -952,12 +952,14 @@ static void test_user_shared_data(void)
ok(xstate.OptimizedSave, "Got zero OptimizedSave with compaction enabled.\n");
ok(!xstate.AlignedFeatures, "Got unexpected AlignedFeatures %s.\n",
wine_dbgstr_longlong(xstate.AlignedFeatures));
ok(xstate.AllFeatureSize >= 512 + sizeof(XSTATE), "Got unexpected AllFeatureSize %u.\n",
xstate.AllFeatureSize);
ok(xstate.AllFeatureSize >= 512 + sizeof(XSTATE)
|| !xstate.AllFeatureSize /* win8 on CPUs without XSAVEC */,
"Got unexpected AllFeatureSize %u.\n", xstate.AllFeatureSize);
for (i = 0; i < ARRAY_SIZE(feature_sizes); ++i)
{
ok(xstate.AllFeatures[i] == feature_sizes[i] || !xstate.AllFeatures[i],
ok(xstate.AllFeatures[i] == feature_sizes[i]
|| !xstate.AllFeatures[i] /* win8+ on CPUs without XSAVEC */,
"Got unexpected AllFeatures[%u] %u, expected %u.\n", i,
xstate.AllFeatures[i], feature_sizes[i]);
ok(xstate.Features[i].Size == feature_sizes[i], "Got unexpected Features[%u].Size %u, expected %u.\n", i,