Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
December 2017
- 60 participants
- 748 messages
[PATCH] msvcrt: Remove unused variables
by Piotr Caban
Signed-off-by: Piotr Caban <piotr(a)codeweavers.com>
---
dlls/msvcrt/data.c | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
Dec. 28, 2017
[PATCH] shell32/tests: Use the available ARRAY_SIZE() macro
by Michael Stefaniuc
Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org>
---
dlls/shell32/tests/shellpath.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c
index 387eecb..f667431 100644
--- a/dlls/shell32/tests/shellpath.c
+++ b/dlls/shell32/tests/shellpath.c
@@ -1898,7 +1898,7 @@ static const struct knownFolderDef known_folders[] = {
{ 0 }
};
#undef KNOWN_FOLDER
-BOOL known_folder_found[sizeof(known_folders)/sizeof(known_folders[0])-1];
+BOOL known_folder_found[ARRAY_SIZE(known_folders)-1];
static BOOL is_in_strarray(const WCHAR *needle, const char *hay)
{
@@ -1914,7 +1914,7 @@ static BOOL is_in_strarray(const WCHAR *needle, const char *hay)
if(strcmp(hay, "(null)") == 0 && !needle)
return TRUE;
- ret = MultiByteToWideChar(CP_ACP, 0, hay, -1, wstr, sizeof(wstr)/sizeof(wstr[0]));
+ ret = MultiByteToWideChar(CP_ACP, 0, hay, -1, wstr, ARRAY_SIZE(wstr));
if(ret == 0)
{
ok(0, "Failed to convert string\n");
@@ -1967,7 +1967,7 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
ok_(__FILE__, known_folder->line)(hr == S_OK, "cannot get known folder definition for %s\n", known_folder->sFolderId);
if(SUCCEEDED(hr))
{
- ret = MultiByteToWideChar(CP_ACP, 0, known_folder->sName, -1, sName, sizeof(sName)/sizeof(sName[0]));
+ ret = MultiByteToWideChar(CP_ACP, 0, known_folder->sName, -1, sName, ARRAY_SIZE(sName));
ok_(__FILE__, known_folder->line)(ret != 0, "cannot convert known folder name \"%s\" to wide characters\n", known_folder->sName);
ok_(__FILE__, known_folder->line)(lstrcmpW(kfd.pszName, sName)==0, "invalid known folder name returned for %s: %s expected, but %s retrieved\n", known_folder->sFolderId, wine_dbgstr_w(sName), wine_dbgstr_w(kfd.pszName));
@@ -2063,10 +2063,10 @@ static void test_knownFolders(void)
GetWindowsDirectoryW( sWinDir, MAX_PATH );
- GetTempPathW(sizeof(sExamplePath)/sizeof(sExamplePath[0]), sExamplePath);
+ GetTempPathW(ARRAY_SIZE(sExamplePath), sExamplePath);
lstrcatW(sExamplePath, sExample);
- GetTempPathW(sizeof(sExample2Path)/sizeof(sExample2Path[0]), sExample2Path);
+ GetTempPathW(ARRAY_SIZE(sExample2Path), sExample2Path);
lstrcatW(sExample2Path, sExample2);
lstrcpyW(sSubFolderPath, sExamplePath);
@@ -2172,7 +2172,7 @@ static void test_knownFolders(void)
ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08x\n", hr);
ok(folder == NULL, "got %p\n", folder);
- for(i=0; i<sizeof(known_folder_found)/sizeof(known_folder_found[0]); ++i)
+ for(i=0; i < ARRAY_SIZE(known_folder_found); ++i)
known_folder_found[i] = FALSE;
hr = IKnownFolderManager_GetFolderIds(mgr, &folders, &nCount);
@@ -2180,7 +2180,7 @@ static void test_knownFolders(void)
for(i=0;i<nCount;++i)
check_known_folder(mgr, &folders[i]);
- for(i=0; i<sizeof(known_folder_found)/sizeof(known_folder_found[0]); ++i)
+ for(i=0; i < ARRAY_SIZE(known_folder_found); ++i)
if(!known_folder_found[i])
trace("Known folder %s not found on current platform\n", known_folders[i].sFolderId);
@@ -2554,7 +2554,7 @@ static void test_DoEnvironmentSubst(void)
memset(bufferA, '#', MAX_PATH - 1);
bufferA[MAX_PATH - 1] = 0;
lstrcpyA(bufferA, names[i]);
- MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, sizeof(bufferW)/sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, ARRAY_SIZE(bufferW));
res2 = ExpandEnvironmentStringsA(names[i], expectedA, MAX_PATH);
res = DoEnvironmentSubstA(bufferA, MAX_PATH);
@@ -2585,7 +2585,7 @@ static void test_DoEnvironmentSubst(void)
memset(bufferA, '#', MAX_PATH - 1);
bufferA[len + 2] = 0;
lstrcpyA(bufferA, names[i]);
- MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, sizeof(bufferW)/sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, ARRAY_SIZE(bufferW));
res2 = ExpandEnvironmentStringsA(bufferA, expectedA, MAX_PATH);
res = DoEnvironmentSubstA(bufferA, len + 1);
@@ -2606,7 +2606,7 @@ static void test_DoEnvironmentSubst(void)
memset(bufferA, '#', MAX_PATH - 1);
bufferA[len + 2] = 0;
lstrcpyA(bufferA, names[i]);
- MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, sizeof(bufferW)/sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, ARRAY_SIZE(bufferW));
/* ANSI version failed without an extra byte, as documented on msdn */
res = DoEnvironmentSubstA(bufferA, len);
@@ -2629,7 +2629,7 @@ static void test_DoEnvironmentSubst(void)
memset(bufferA, '#', MAX_PATH - 1);
bufferA[len + 2] = 0;
lstrcpyA(bufferA, names[i]);
- MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, sizeof(bufferW)/sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, ARRAY_SIZE(bufferW));
res = DoEnvironmentSubstA(bufferA, len - 1);
ok(!HIWORD(res) && (LOWORD(res) == (len - 1)),
@@ -2650,7 +2650,7 @@ static void test_DoEnvironmentSubst(void)
memset(bufferA, '#', MAX_PATH - 1);
bufferA[MAX_PATH - 1] = 0;
lstrcpyA(bufferA, does_not_existA);
- MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, sizeof(bufferW)/sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, bufferA, MAX_PATH, bufferW, ARRAY_SIZE(bufferW));
res2 = lstrlenA(does_not_existA) + 1;
res = DoEnvironmentSubstA(bufferA, MAX_PATH);
@@ -2701,7 +2701,7 @@ if (0)
ok(!ret, "got %d\n", ret);
}
- GetTempPathW(sizeof(pathW)/sizeof(WCHAR), pathW);
+ GetTempPathW(ARRAY_SIZE(pathW), pathW);
/* Using short name only first */
nameW[0] = 0;
--
2.9.5
Dec. 27, 2017
[PATCH] d3dx9/tests: Use the available ARRAY_SIZE() macro
by Michael Stefaniuc
Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org>
---
dlls/d3dx9_36/tests/effect.c | 6 +++---
dlls/d3dx9_36/tests/mesh.c | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/d3dx9_36/tests/effect.c b/dlls/d3dx9_36/tests/effect.c
index 96b21f0..d65f072 100644
--- a/dlls/d3dx9_36/tests/effect.c
+++ b/dlls/d3dx9_36/tests/effect.c
@@ -1325,7 +1325,7 @@ static void test_effect_parameter_value_GetMatrix(const struct test_effect_param
ok(hr == D3DERR_INVALIDCALL, "%u - %s: GetMatrix failed, got %#x, expected %#x\n",
i, res_full_name, hr, D3DERR_INVALIDCALL);
- for (l = 0; l < sizeof(fvalue) / sizeof(*fvalue); ++l) if (fvalue[l] != *(FLOAT *)&cmp) ++err;
+ for (l = 0; l < ARRAY_SIZE(fvalue); ++l) if (fvalue[l] != *(FLOAT *)&cmp) ++err;
}
ok(!err, "%u - %s: GetMatrix failed with %u errors\n", i, res_full_name, err);
}
@@ -1498,7 +1498,7 @@ static void test_effect_parameter_value_GetMatrixTranspose(const struct test_eff
ok(hr == D3DERR_INVALIDCALL, "%u - %s: GetMatrixTranspose failed, got %#x, expected %#x\n",
i, res_full_name, hr, D3DERR_INVALIDCALL);
- for (l = 0; l < sizeof(fvalue) / sizeof(*fvalue); ++l) if (fvalue[l] != *(FLOAT *)&cmp) ++err;
+ for (l = 0; l < ARRAY_SIZE(fvalue); ++l) if (fvalue[l] != *(FLOAT *)&cmp) ++err;
}
ok(!err, "%u - %s: GetMatrixTranspose failed with %u errors\n", i, res_full_name, err);
}
@@ -1675,7 +1675,7 @@ static void test_effect_parameter_value_ResetValue(const struct test_effect_para
static void test_effect_parameter_value(IDirect3DDevice9 *device)
{
UINT i;
- UINT effect_count = sizeof(test_effect_parameter_value_data) / sizeof(*test_effect_parameter_value_data);
+ UINT effect_count = ARRAY_SIZE(test_effect_parameter_value_data);
for (i = 0; i < effect_count; ++i)
{
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index d0b1adb..a92b7ea 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -818,7 +818,7 @@ static void test_fvf_decl_conversion(void)
};
unsigned int i;
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
test_decl_to_fvf(test_data[i].decl, test_data[i].fvf, D3D_OK, __LINE__, i);
test_fvf_to_decl(test_data[i].fvf, test_data[i].decl, D3D_OK, __LINE__, i);
@@ -1268,7 +1268,7 @@ static void D3DXCreateMeshTest(void)
if (hr == D3D_OK)
{
- size = sizeof(decl1) / sizeof(decl1[0]);
+ size = ARRAY_SIZE(decl1);
for (i = 0; i < size - 1; i++)
{
ok(test_decl[i].Stream == decl1[i].Stream, "Returned stream %d, expected %d\n", test_decl[i].Stream, decl1[i].Stream);
@@ -1329,7 +1329,7 @@ static void D3DXCreateMeshTest(void)
if (hr == D3D_OK)
{
- size = sizeof(decl2) / sizeof(decl2[0]);
+ size = ARRAY_SIZE(decl2);
for (i = 0; i < size - 1; i++)
{
ok(test_decl[i].Stream == decl2[i].Stream, "Returned stream %d, expected %d\n", test_decl[i].Stream, decl2[i].Stream);
@@ -1453,7 +1453,7 @@ static void D3DXCreateMeshFVFTest(void)
if (hr == D3D_OK)
{
- size = sizeof(decl) / sizeof(decl[0]);
+ size = ARRAY_SIZE(decl);
for (i = 0; i < size - 1; i++)
{
ok(test_decl[i].Stream == decl[i].Stream, "Returned stream %d, expected %d\n", test_decl[i].Stream, decl[i].Stream);
--
2.9.5
Dec. 27, 2017
Re: update of pt_PT.po
by Fernando
Hi,
I got the message below in reply to a translation patch. I used the script winepo to checkout the po file and obtain a diff.
There is an "authorship" issue but I'm not sure how to proceed.
I see: "Last-Translator: Automatically generated\n" in the po file. Shall I fill it in manually?
Regards,
Fernando Martins
On 27 December 2017 at 21:46:26 +01:00, Marvin <testbot(a)winehq.org> wrote:
> Thank you for your contribution to Wine!
>
> This is an automated notification to let you know that your patch has
> been reviewed and its status set to "Authorship".
>
> This means that there are some authorship issues with your patch. The
> author's full name, email address, or Signed-off-by headers are
> missing or incorrectly formatted. You need to resend a patch with
> corrected author information.
>
> If you do not understand the reason for this status, disagree with our
> assessment, or are simply not sure how to proceed next, please ask for
> clarification by replying to this email.
>
Dec. 27, 2017
[PATCH 3/3] ddraw/tests: Recognise E_NOTIMPL returned from UpdateOverlay() on VMware as broken.
by Henri Verbeet
From: Alex Henrie <alexhenrie24(a)gmail.com>
Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
---
dlls/ddraw/tests/ddraw1.c | 12 +++++++++++-
dlls/ddraw/tests/ddraw2.c | 12 +++++++++++-
dlls/ddraw/tests/ddraw4.c | 12 +++++++++++-
dlls/ddraw/tests/ddraw7.c | 12 +++++++++++-
4 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index db54abd4165..2c4410af783 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -123,6 +123,15 @@ static BOOL ddraw_is_intel(IDirectDraw *ddraw)
&& identifier.dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier;
+
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface *create_overlay(IDirectDraw *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -8666,7 +8675,8 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled())
+ || broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index d2382d153be..89d0d7e4be3 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -125,6 +125,15 @@ static BOOL ddraw_is_intel(IDirectDraw2 *ddraw)
&& identifier.dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw2 *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier;
+
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface *create_overlay(IDirectDraw2 *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -9800,7 +9809,8 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled())
+ || broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index caa3ced1728..fa1178d0361 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -131,6 +131,15 @@ static BOOL ddraw_is_intel(IDirectDraw4 *ddraw)
&& identifier.dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw4 *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier;
+
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface4 *create_overlay(IDirectDraw4 *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -11262,7 +11271,8 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface4_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled())
+ || broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index f1568bb9d07..fdfac696cfc 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -145,6 +145,15 @@ static BOOL ddraw_is_intel(IDirectDraw7 *ddraw)
&& identifier.dwVendorId == 0x8086;
}
+static BOOL ddraw_is_vmware(IDirectDraw7 *ddraw)
+{
+ DDDEVICEIDENTIFIER2 identifier;
+
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x15ad;
+}
+
static IDirectDrawSurface7 *create_overlay(IDirectDraw7 *ddraw,
unsigned int width, unsigned int height, DWORD format)
{
@@ -11220,7 +11229,8 @@ static void test_offscreen_overlay(void)
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL);
- ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()),
+ ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled())
+ || broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)),
"Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */
--
2.11.0
Dec. 27, 2017
[PATCH 2/3] ddraw/tests: Print driver and device information before running the tests.
by Henri Verbeet
Analogous to the d3d8 and d3d9 tests.
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
---
dlls/ddraw/tests/ddraw1.c | 59 ++++++++++++++++++++++-------------------------
dlls/ddraw/tests/ddraw2.c | 59 ++++++++++++++++++++++-------------------------
dlls/ddraw/tests/ddraw4.c | 51 ++++++++++++++++++++++------------------
dlls/ddraw/tests/ddraw7.c | 55 +++++++++++++++++++++++--------------------
4 files changed, 114 insertions(+), 110 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index 109910b8205..db54abd4165 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -82,58 +82,45 @@ static BOOL compare_vec4(const struct vec4 *vec, float x, float y, float z, floa
&& compare_float(vec->w, w, ulps);
}
-static BOOL ddraw_is_warp(IDirectDraw *ddraw)
+static BOOL ddraw_get_identifier(IDirectDraw *ddraw, DDDEVICEIDENTIFIER *identifier)
{
IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
+ hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
IDirectDraw4_Release(ddraw4);
- return !!strstr(identifier.szDriver, "warp");
+ return SUCCEEDED(hr);
}
-static BOOL ddraw_is_nvidia(IDirectDraw *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw *ddraw)
{
- IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && strstr(identifier.szDriver, "warp");
+}
- hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
+static BOOL ddraw_is_nvidia(IDirectDraw *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier;
- return identifier.dwVendorId == 0x10de;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw *ddraw)
{
- IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
- return identifier.dwVendorId == 0x8086;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x8086;
}
static IDirectDrawSurface *create_overlay(IDirectDraw *ddraw,
@@ -10784,8 +10771,9 @@ done:
START_TEST(ddraw1)
{
- IDirectDraw *ddraw;
+ DDDEVICEIDENTIFIER identifier;
DEVMODEW current_mode;
+ IDirectDraw *ddraw;
HMODULE dwmapi;
if (!(ddraw = create_ddraw()))
@@ -10793,6 +10781,15 @@ START_TEST(ddraw1)
skip("Failed to create a ddraw object, skipping tests.\n");
return;
}
+
+ if (ddraw_get_identifier(ddraw, &identifier))
+ {
+ trace("Driver string: \"%s\"\n", identifier.szDriver);
+ trace("Description string: \"%s\"\n", identifier.szDescription);
+ trace("Driver version %d.%d.%d.%d\n",
+ HIWORD(U(identifier.liDriverVersion).HighPart), LOWORD(U(identifier.liDriverVersion).HighPart),
+ HIWORD(U(identifier.liDriverVersion).LowPart), LOWORD(U(identifier.liDriverVersion).LowPart));
+ }
IDirectDraw_Release(ddraw);
memset(¤t_mode, 0, sizeof(current_mode));
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index 1db7ad9329f..d2382d153be 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -84,58 +84,45 @@ static BOOL compare_vec4(const struct vec4 *vec, float x, float y, float z, floa
&& compare_float(vec->w, w, ulps);
}
-static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
+static BOOL ddraw_get_identifier(IDirectDraw2 *ddraw, DDDEVICEIDENTIFIER *identifier)
{
IDirectDraw4 *ddraw4;
- DDDEVICEIDENTIFIER identifier;
HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
+ hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
IDirectDraw4_Release(ddraw4);
- return !!strstr(identifier.szDriver, "warp");
+ return SUCCEEDED(hr);
}
-static BOOL ddraw_is_nvidia(IDirectDraw2 *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw2 *ddraw)
{
- IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && strstr(identifier.szDriver, "warp");
+}
- hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
+static BOOL ddraw_is_nvidia(IDirectDraw2 *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier;
- return identifier.dwVendorId == 0x10de;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw2 *ddraw)
{
- IDirectDraw4 *ddraw4;
DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw2_QueryInterface(ddraw, &IID_IDirectDraw4, (void **)&ddraw4);
- ok(SUCCEEDED(hr), "Failed to get IDirectDraw4 interface, hr %#x.\n", hr);
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw4, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- IDirectDraw4_Release(ddraw4);
-
- return identifier.dwVendorId == 0x8086;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x8086;
}
static IDirectDrawSurface *create_overlay(IDirectDraw2 *ddraw,
@@ -12160,8 +12147,9 @@ done:
START_TEST(ddraw2)
{
- IDirectDraw2 *ddraw;
+ DDDEVICEIDENTIFIER identifier;
DEVMODEW current_mode;
+ IDirectDraw2 *ddraw;
HMODULE dwmapi;
if (!(ddraw = create_ddraw()))
@@ -12169,6 +12157,15 @@ START_TEST(ddraw2)
skip("Failed to create a ddraw object, skipping tests.\n");
return;
}
+
+ if (ddraw_get_identifier(ddraw, &identifier))
+ {
+ trace("Driver string: \"%s\"\n", identifier.szDriver);
+ trace("Description string: \"%s\"\n", identifier.szDescription);
+ trace("Driver version %d.%d.%d.%d\n",
+ HIWORD(U(identifier.liDriverVersion).HighPart), LOWORD(U(identifier.liDriverVersion).HighPart),
+ HIWORD(U(identifier.liDriverVersion).LowPart), LOWORD(U(identifier.liDriverVersion).LowPart));
+ }
IDirectDraw2_Release(ddraw);
memset(¤t_mode, 0, sizeof(current_mode));
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 98c86d0bf01..caa3ced1728 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -94,46 +94,41 @@ static BOOL compare_color(D3DCOLOR c1, D3DCOLOR c2, BYTE max_diff)
return TRUE;
}
-static BOOL ddraw_is_warp(IDirectDraw4 *ddraw)
+static BOOL ddraw_get_identifier(IDirectDraw4 *ddraw, DDDEVICEIDENTIFIER *identifier)
{
- DDDEVICEIDENTIFIER identifier;
HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
+ hr = IDirectDraw4_GetDeviceIdentifier(ddraw, identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- return !!strstr(identifier.szDriver, "warp");
+ return SUCCEEDED(hr);
}
-static BOOL ddraw_is_nvidia(IDirectDraw4 *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw4 *ddraw)
{
DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && strstr(identifier.szDriver, "warp");
+}
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
+static BOOL ddraw_is_nvidia(IDirectDraw4 *ddraw)
+{
+ DDDEVICEIDENTIFIER identifier;
- return identifier.dwVendorId == 0x10de;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw4 *ddraw)
{
DDDEVICEIDENTIFIER identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw4_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- return identifier.dwVendorId == 0x8086;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x8086;
}
static IDirectDrawSurface4 *create_overlay(IDirectDraw4 *ddraw,
@@ -14008,8 +14003,9 @@ static void test_compute_sphere_visibility(void)
START_TEST(ddraw4)
{
- IDirectDraw4 *ddraw;
+ DDDEVICEIDENTIFIER identifier;
DEVMODEW current_mode;
+ IDirectDraw4 *ddraw;
HMODULE dwmapi;
if (!(ddraw = create_ddraw()))
@@ -14017,6 +14013,15 @@ START_TEST(ddraw4)
skip("Failed to create a ddraw object, skipping tests.\n");
return;
}
+
+ if (ddraw_get_identifier(ddraw, &identifier))
+ {
+ trace("Driver string: \"%s\"\n", identifier.szDriver);
+ trace("Description string: \"%s\"\n", identifier.szDescription);
+ trace("Driver version %d.%d.%d.%d\n",
+ HIWORD(U(identifier.liDriverVersion).HighPart), LOWORD(U(identifier.liDriverVersion).HighPart),
+ HIWORD(U(identifier.liDriverVersion).LowPart), LOWORD(U(identifier.liDriverVersion).LowPart));
+ }
IDirectDraw4_Release(ddraw);
memset(¤t_mode, 0, sizeof(current_mode));
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 7c6264bd557..f1568bb9d07 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -108,46 +108,41 @@ static ULONG get_refcount(IUnknown *iface)
return IUnknown_Release(iface);
}
-static BOOL ddraw_is_warp(IDirectDraw7 *ddraw)
+static BOOL ddraw_get_identifier(IDirectDraw7 *ddraw, DDDEVICEIDENTIFIER2 *identifier)
{
- DDDEVICEIDENTIFIER2 identifier;
HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
+ hr = IDirectDraw7_GetDeviceIdentifier(ddraw, identifier, 0);
ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- return !!strstr(identifier.szDriver, "warp");
+ return SUCCEEDED(hr);
}
-static BOOL ddraw_is_nvidia(IDirectDraw7 *ddraw)
+static BOOL ddraw_is_warp(IDirectDraw7 *ddraw)
{
DDDEVICEIDENTIFIER2 identifier;
- HRESULT hr;
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && strstr(identifier.szDriver, "warp");
+}
- hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
+static BOOL ddraw_is_nvidia(IDirectDraw7 *ddraw)
+{
+ DDDEVICEIDENTIFIER2 identifier;
- return identifier.dwVendorId == 0x10de;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x10de;
}
static BOOL ddraw_is_intel(IDirectDraw7 *ddraw)
{
DDDEVICEIDENTIFIER2 identifier;
- HRESULT hr;
-
- if (!strcmp(winetest_platform, "wine"))
- return FALSE;
-
- hr = IDirectDraw7_GetDeviceIdentifier(ddraw, &identifier, 0);
- ok(SUCCEEDED(hr), "Failed to get device identifier, hr %#x.\n", hr);
- return identifier.dwVendorId == 0x8086;
+ return strcmp(winetest_platform, "wine")
+ && ddraw_get_identifier(ddraw, &identifier)
+ && identifier.dwVendorId == 0x8086;
}
static IDirectDrawSurface7 *create_overlay(IDirectDraw7 *ddraw,
@@ -13384,11 +13379,12 @@ static void test_clip_planes_limits(void)
START_TEST(ddraw7)
{
- HMODULE module = GetModuleHandleA("ddraw.dll");
- HMODULE dwmapi;
- IDirectDraw7 *ddraw;
+ DDDEVICEIDENTIFIER2 identifier;
+ HMODULE module, dwmapi;
DEVMODEW current_mode;
+ IDirectDraw7 *ddraw;
+ module = GetModuleHandleA("ddraw.dll");
if (!(pDirectDrawCreateEx = (void *)GetProcAddress(module, "DirectDrawCreateEx")))
{
win_skip("DirectDrawCreateEx not available, skipping tests.\n");
@@ -13400,6 +13396,15 @@ START_TEST(ddraw7)
skip("Failed to create a ddraw object, skipping tests.\n");
return;
}
+
+ if (ddraw_get_identifier(ddraw, &identifier))
+ {
+ trace("Driver string: \"%s\"\n", identifier.szDriver);
+ trace("Description string: \"%s\"\n", identifier.szDescription);
+ trace("Driver version %d.%d.%d.%d\n",
+ HIWORD(U(identifier.liDriverVersion).HighPart), LOWORD(U(identifier.liDriverVersion).HighPart),
+ HIWORD(U(identifier.liDriverVersion).LowPart), LOWORD(U(identifier.liDriverVersion).LowPart));
+ }
IDirectDraw7_Release(ddraw);
memset(¤t_mode, 0, sizeof(current_mode));
--
2.11.0
Dec. 27, 2017
[PATCH 1/3] ddraw/tests: Introduce an ARRAY_SIZE macro to ddraw7 as well.
by Henri Verbeet
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
---
dlls/ddraw/tests/ddraw7.c | 167 +++++++++++++++++++++++-----------------------
1 file changed, 82 insertions(+), 85 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 91822281d06..7c6264bd557 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -32,6 +32,10 @@ static DEVMODEW registry_mode;
static HRESULT (WINAPI *pDwmIsCompositionEnabled)(BOOL *);
+#ifndef ARRAY_SIZE
+#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
+#endif
+
struct vec2
{
float x, y;
@@ -1519,7 +1523,7 @@ static void test_ck_rgba(void)
hr = IDirect3DDevice7_GetRenderTarget(device, &rt);
ok(SUCCEEDED(hr), "Failed to get render target, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
hr = IDirect3DDevice7_SetRenderState(device, D3DRENDERSTATE_COLORKEYENABLE, tests[i].color_key);
ok(SUCCEEDED(hr), "Failed to enable color keying, hr %#x.\n", hr);
@@ -1998,7 +2002,7 @@ static void test_surface_qi(void)
hr = IDirectDraw7_CreateSurface(ddraw, &surface_desc, &surface, NULL);
ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n", hr);
- test_qi("surface_qi", (IUnknown *)surface, &IID_IDirectDrawSurface7, tests, sizeof(tests) / sizeof(*tests));
+ test_qi("surface_qi", (IUnknown *)surface, &IID_IDirectDrawSurface7, tests, ARRAY_SIZE(tests));
IDirectDrawSurface7_Release(surface);
IDirectDraw7_Release(ddraw);
@@ -2064,7 +2068,7 @@ static void test_device_qi(void)
return;
}
- test_qi("device_qi", (IUnknown *)device, &IID_IDirect3DDevice7, tests, sizeof(tests) / sizeof(*tests));
+ test_qi("device_qi", (IUnknown *)device, &IID_IDirect3DDevice7, tests, ARRAY_SIZE(tests));
IDirect3DDevice7_Release(device);
DestroyWindow(window);
@@ -3732,7 +3736,7 @@ static void test_lighting(void)
hr = IDirect3DDevice7_LightEnable(device, 0, TRUE);
ok(SUCCEEDED(hr), "Failed to enable light 0, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
hr = IDirect3DDevice7_SetTransform(device, D3DTRANSFORMSTATE_WORLD, tests[i].world_matrix);
ok(SUCCEEDED(hr), "Failed to set world transform, hr %#x.\n", hr);
@@ -3944,22 +3948,14 @@ static void test_specular_lighting(void)
}
tests[] =
{
- {&directional, FALSE, 30.0f, expected_directional,
- sizeof(expected_directional) / sizeof(expected_directional[0])},
- {&directional, TRUE, 30.0f, expected_directional_local,
- sizeof(expected_directional_local) / sizeof(expected_directional_local[0])},
- {&point, FALSE, 30.0f, expected_point,
- sizeof(expected_point) / sizeof(expected_point[0])},
- {&point, TRUE, 30.0f, expected_point_local,
- sizeof(expected_point_local) / sizeof(expected_point_local[0])},
- {&spot, FALSE, 30.0f, expected_spot,
- sizeof(expected_spot) / sizeof(expected_spot[0])},
- {&spot, TRUE, 30.0f, expected_spot_local,
- sizeof(expected_spot_local) / sizeof(expected_spot_local[0])},
- {&point_range, FALSE, 30.0f, expected_point_range,
- sizeof(expected_point_range) / sizeof(expected_point_range[0])},
- {&point_side, TRUE, 0.0f, expected_point_side,
- sizeof(expected_point_side) / sizeof(expected_point_side[0])},
+ {&directional, FALSE, 30.0f, expected_directional, ARRAY_SIZE(expected_directional)},
+ {&directional, TRUE, 30.0f, expected_directional_local, ARRAY_SIZE(expected_directional_local)},
+ {&point, FALSE, 30.0f, expected_point, ARRAY_SIZE(expected_point)},
+ {&point, TRUE, 30.0f, expected_point_local, ARRAY_SIZE(expected_point_local)},
+ {&spot, FALSE, 30.0f, expected_spot, ARRAY_SIZE(expected_spot)},
+ {&spot, TRUE, 30.0f, expected_spot_local, ARRAY_SIZE(expected_spot_local)},
+ {&point_range, FALSE, 30.0f, expected_point_range, ARRAY_SIZE(expected_point_range)},
+ {&point_side, TRUE, 0.0f, expected_point_side, ARRAY_SIZE(expected_point_side)},
};
IDirect3DDevice7 *device;
IDirectDrawSurface7 *rt;
@@ -4032,7 +4028,7 @@ static void test_specular_lighting(void)
hr = IDirect3DDevice7_SetRenderState(device, D3DRENDERSTATE_SPECULARENABLE, TRUE);
ok(SUCCEEDED(hr), "Failed to enable specular lighting, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
hr = IDirect3DDevice7_SetLight(device, 0, tests[i].light);
ok(SUCCEEDED(hr), "Failed to set light parameters, hr %#x.\n", hr);
@@ -4320,7 +4316,7 @@ static void test_fog_special(void)
hr = IDirect3DDevice7_SetRenderState(device, D3DRENDERSTATE_FOGEND, conv.d);
ok(SUCCEEDED(hr), "Failed to set fog end, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
hr = IDirect3DDevice7_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0x000000ff, 1.0f, 0);
ok(SUCCEEDED(hr), "Failed to clear render target, hr %#x.\n", hr);
@@ -4512,7 +4508,7 @@ static void test_lighting_interface_versions(void)
ok(SUCCEEDED(hr), "Failed to get specularenable render state, hr %#x.\n", hr);
ok(rs == FALSE, "Initial D3DRENDERSTATE_SPECULARENABLE is %#x, expected FALSE.\n", rs);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
hr = IDirect3DDevice7_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xff202020, 0.0f, 0);
ok(SUCCEEDED(hr), "Failed to clear viewport, hr %#x.\n", hr);
@@ -4748,7 +4744,7 @@ static void test_texturemanage(void)
return;
}
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
@@ -4954,7 +4950,7 @@ static void test_block_formats_creation(void)
ok(SUCCEEDED(hr), "Failed to get fourcc codes %#x.\n", hr);
for (i = 0; i < num_fourcc_codes; i++)
{
- for (j = 0; j < sizeof(formats) / sizeof(*formats); j++)
+ for (j = 0; j < ARRAY_SIZE(formats); ++j)
{
if (fourcc_codes[i] == formats[j].fourcc)
supported_overlay_fmts |= formats[j].support_flag;
@@ -4969,9 +4965,9 @@ static void test_block_formats_creation(void)
mem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 2 * 2 * 16 + 1);
- for (i = 0; i < sizeof(formats) / sizeof(*formats); i++)
+ for (i = 0; i < ARRAY_SIZE(formats); ++i)
{
- for (j = 0; j < sizeof(types) / sizeof(*types); j++)
+ for (j = 0; j < ARRAY_SIZE(types); ++j)
{
BOOL support;
@@ -5035,7 +5031,7 @@ static void test_block_formats_creation(void)
if (formats[i].overlay)
continue;
- for (j = 0; j < sizeof(user_mem_tests) / sizeof(*user_mem_tests); ++j)
+ for (j = 0; j < ARRAY_SIZE(user_mem_tests); ++j)
{
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
@@ -5164,13 +5160,13 @@ static void test_unsupported_formats(void)
ok(SUCCEEDED(hr), "Failed to get ddraw interface, hr %#x.\n", hr);
IDirect3D7_Release(d3d);
- for (i = 0; i < sizeof(formats) / sizeof(*formats); i++)
+ for (i = 0; i < ARRAY_SIZE(formats); ++i)
{
struct format_support_check check = {&formats[i].fmt, FALSE};
hr = IDirect3DDevice7_EnumTextureFormats(device, test_unsupported_formats_cb, &check);
ok(SUCCEEDED(hr), "Failed to enumerate texture formats %#x.\n", hr);
- for (j = 0; j < sizeof(caps) / sizeof(*caps); j++)
+ for (j = 0; j < ARRAY_SIZE(caps); ++j)
{
memset(&ddsd, 0, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
@@ -5441,7 +5437,7 @@ static void test_rt_caps(void)
hr = IDirectDraw7_CreatePalette(ddraw, DDPCAPS_ALLOW256 | DDPCAPS_8BIT, palette_entries, &palette, NULL);
ok(SUCCEEDED(hr), "Failed to create palette, hr %#x.\n", hr);
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
IDirectDrawSurface7 *surface, *rt, *expected_rt, *tmp;
DDSURFACEDESC2 surface_desc;
@@ -5663,7 +5659,7 @@ static void test_primary_caps(void)
ddraw = create_ddraw();
ok(!!ddraw, "Failed to create a ddraw object.\n");
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, test_data[i].coop_level);
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
@@ -5860,7 +5856,7 @@ static void test_surface_lock(void)
IDirectDrawSurface7_Release(surface);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
if (!cubemap_supported && tests[i].caps2 & DDSCAPS2_CUBEMAP)
continue;
@@ -5962,7 +5958,7 @@ static void test_surface_discard(void)
hr = IDirect3DDevice7_GetRenderTarget(device, &target);
ok(SUCCEEDED(hr), "Failed to get render target, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
BOOL discarded;
@@ -6076,7 +6072,7 @@ static void test_flip(void)
hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN);
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
/* Creating a flippable texture induces a BSoD on some versions of the
* Intel graphics driver. At least Intel GMA 950 with driver version
@@ -6580,8 +6576,9 @@ static void test_set_surface_desc(void)
/* SetSurfaceDesc needs systemmemory surfaces.
*
- * As a sidenote, fourcc surfaces aren't allowed in sysmem, thus testing DDSD_LINEARSIZE is moot. */
- for (i = 0; i < sizeof(invalid_caps_tests) / sizeof(*invalid_caps_tests); i++)
+ * As a sidenote, fourcc surfaces aren't allowed in sysmem, thus testing
+ * DDSD_LINEARSIZE is moot. */
+ for (i = 0; i < ARRAY_SIZE(invalid_caps_tests); ++i)
{
reset_ddsd(&ddsd);
ddsd.dwFlags = DDSD_CAPS;
@@ -7612,7 +7609,7 @@ static void test_create_surface_pitch(void)
mem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, ((63 * 4) + 8) * 63);
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
memset(&surface_desc, 0, sizeof(surface_desc));
surface_desc.dwSize = sizeof(surface_desc);
@@ -7725,7 +7722,7 @@ static void test_mipmap(void)
return;
}
- for (i = 0; i < sizeof(tests) / sizeof(*tests); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
memset(&surface_desc, 0, sizeof(surface_desc));
surface_desc.dwSize = sizeof(surface_desc);
@@ -8004,7 +8001,7 @@ static void test_p8_blit(void)
if (SUCCEEDED(hr))
{
- for (x = 0; x < sizeof(expected) / sizeof(*expected); x++)
+ for (x = 0; x < ARRAY_SIZE(expected); ++x)
{
color = get_surface_color(dst, x, 0);
todo_wine ok(compare_color(color, expected[x], 0),
@@ -8174,16 +8171,16 @@ static void test_palette_gdi(void)
"Got unexpected palette %p, expected %p.\n",
ddraw_palette_handle, GetStockObject(DEFAULT_PALETTE));
- i = GetDIBColorTable(dc, 0, sizeof(rgbquad) / sizeof(*rgbquad), rgbquad);
- ok(i == sizeof(rgbquad) / sizeof(*rgbquad), "Expected count 255, got %u.\n", i);
- for (i = 0; i < sizeof(expected1) / sizeof(*expected1); i++)
+ i = GetDIBColorTable(dc, 0, ARRAY_SIZE(rgbquad), rgbquad);
+ ok(i == ARRAY_SIZE(rgbquad), "Expected count 255, got %u.\n", i);
+ for (i = 0; i < ARRAY_SIZE(expected1); ++i)
{
ok(!memcmp(&rgbquad[i], &expected1[i], sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=%#x g=%#x b=%#x.\n",
i, rgbquad[i].rgbRed, rgbquad[i].rgbGreen, rgbquad[i].rgbBlue,
expected1[i].rgbRed, expected1[i].rgbGreen, expected1[i].rgbBlue);
}
- for (; i < sizeof(rgbquad) / sizeof(*rgbquad); i++)
+ for (; i < ARRAY_SIZE(rgbquad); ++i)
{
ok(!memcmp(&rgbquad[i], &rgb_zero, sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=0 g=0 b=0.\n",
@@ -8223,16 +8220,16 @@ static void test_palette_gdi(void)
/* Refresh the DC. This updates the palette. */
hr = IDirectDrawSurface7_GetDC(surface, &dc);
ok(SUCCEEDED(hr), "Failed to get DC, hr %#x.\n", hr);
- i = GetDIBColorTable(dc, 0, sizeof(rgbquad) / sizeof(*rgbquad), rgbquad);
- ok(i == sizeof(rgbquad) / sizeof(*rgbquad), "Expected count 255, got %u.\n", i);
- for (i = 0; i < sizeof(expected2) / sizeof(*expected2); i++)
+ i = GetDIBColorTable(dc, 0, ARRAY_SIZE(rgbquad), rgbquad);
+ ok(i == ARRAY_SIZE(rgbquad), "Expected count 255, got %u.\n", i);
+ for (i = 0; i < ARRAY_SIZE(expected2); ++i)
{
ok(!memcmp(&rgbquad[i], &expected2[i], sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=%#x g=%#x b=%#x.\n",
i, rgbquad[i].rgbRed, rgbquad[i].rgbGreen, rgbquad[i].rgbBlue,
expected2[i].rgbRed, expected2[i].rgbGreen, expected2[i].rgbBlue);
}
- for (; i < sizeof(rgbquad) / sizeof(*rgbquad); i++)
+ for (; i < ARRAY_SIZE(rgbquad); ++i)
{
ok(!memcmp(&rgbquad[i], &rgb_zero, sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=0 g=0 b=0.\n",
@@ -8296,16 +8293,16 @@ static void test_palette_gdi(void)
* the system palette are not included pending an application that depends on this.
* The relation between those causes problems on Windows Vista and newer for games
* like Age of Empires or StarcCaft. Don't emulate it without a real need. */
- i = GetDIBColorTable(dc, 0, sizeof(rgbquad) / sizeof(*rgbquad), rgbquad);
- ok(i == sizeof(rgbquad) / sizeof(*rgbquad), "Expected count 255, got %u.\n", i);
- for (i = 0; i < sizeof(expected2) / sizeof(*expected2); i++)
+ i = GetDIBColorTable(dc, 0, ARRAY_SIZE(rgbquad), rgbquad);
+ ok(i == ARRAY_SIZE(rgbquad), "Expected count 255, got %u.\n", i);
+ for (i = 0; i < ARRAY_SIZE(expected2); ++i)
{
ok(!memcmp(&rgbquad[i], &expected2[i], sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=%#x g=%#x b=%#x.\n",
i, rgbquad[i].rgbRed, rgbquad[i].rgbGreen, rgbquad[i].rgbBlue,
expected2[i].rgbRed, expected2[i].rgbGreen, expected2[i].rgbBlue);
}
- for (; i < sizeof(rgbquad) / sizeof(*rgbquad); i++)
+ for (; i < ARRAY_SIZE(rgbquad); ++i)
{
ok(!memcmp(&rgbquad[i], &rgb_zero, sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=0 g=0 b=0.\n",
@@ -8327,16 +8324,16 @@ static void test_palette_gdi(void)
* but in all likelihood it is actually the system palette. */
hr = IDirectDrawSurface7_GetDC(surface, &dc);
ok(SUCCEEDED(hr), "Failed to get DC, hr %#x.\n", hr);
- i = GetDIBColorTable(dc, 0, sizeof(rgbquad) / sizeof(*rgbquad), rgbquad);
- ok(i == sizeof(rgbquad) / sizeof(*rgbquad), "Expected count 255, got %u.\n", i);
- for (i = 0; i < sizeof(expected2) / sizeof(*expected2); i++)
+ i = GetDIBColorTable(dc, 0, ARRAY_SIZE(rgbquad), rgbquad);
+ ok(i == ARRAY_SIZE(rgbquad), "Expected count 255, got %u.\n", i);
+ for (i = 0; i < ARRAY_SIZE(expected2); ++i)
{
ok(!memcmp(&rgbquad[i], &expected2[i], sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=%#x g=%#x b=%#x.\n",
i, rgbquad[i].rgbRed, rgbquad[i].rgbGreen, rgbquad[i].rgbBlue,
expected2[i].rgbRed, expected2[i].rgbGreen, expected2[i].rgbBlue);
}
- for (; i < sizeof(rgbquad) / sizeof(*rgbquad); i++)
+ for (; i < ARRAY_SIZE(rgbquad); ++i)
{
ok(!memcmp(&rgbquad[i], &rgb_zero, sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=0 g=0 b=0.\n",
@@ -8367,16 +8364,16 @@ static void test_palette_gdi(void)
* palette. */
hr = IDirectDrawSurface7_GetDC(surface, &dc);
ok(SUCCEEDED(hr), "Failed to get DC, hr %#x.\n", hr);
- i = GetDIBColorTable(dc, 0, sizeof(rgbquad) / sizeof(*rgbquad), rgbquad);
- ok(i == sizeof(rgbquad) / sizeof(*rgbquad), "Expected count 255, got %u.\n", i);
- for (i = 0; i < sizeof(expected3) / sizeof(*expected3); i++)
+ i = GetDIBColorTable(dc, 0, ARRAY_SIZE(rgbquad), rgbquad);
+ ok(i == ARRAY_SIZE(rgbquad), "Expected count 255, got %u.\n", i);
+ for (i = 0; i < ARRAY_SIZE(expected3); ++i)
{
ok(!memcmp(&rgbquad[i], &expected3[i], sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=%#x g=%#x b=%#x.\n",
i, rgbquad[i].rgbRed, rgbquad[i].rgbGreen, rgbquad[i].rgbBlue,
expected3[i].rgbRed, expected3[i].rgbGreen, expected3[i].rgbBlue);
}
- for (; i < sizeof(rgbquad) / sizeof(*rgbquad); i++)
+ for (; i < ARRAY_SIZE(rgbquad); ++i)
{
ok(!memcmp(&rgbquad[i], &rgb_zero, sizeof(rgbquad[i])),
"Got color table entry %u r=%#x g=%#x b=%#x, expected r=0 g=0 b=0.\n",
@@ -8483,7 +8480,7 @@ static void test_palette_alpha(void)
ok(palette_entries[3].peFlags == 0x00, "Got unexpected peFlags 0x%02x, expected 0x00.\n",
palette_entries[3].peFlags);
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); i++)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
memset(&surface_desc, 0, sizeof(surface_desc));
surface_desc.dwSize = sizeof(surface_desc);
@@ -8587,7 +8584,7 @@ static void test_vb_writeonly(void)
desc.dwSize = sizeof(desc);
desc.dwCaps = D3DVBCAPS_WRITEONLY;
desc.dwFVF = D3DFVF_XYZRHW;
- desc.dwNumVertices = sizeof(quad) / sizeof(*quad);
+ desc.dwNumVertices = ARRAY_SIZE(quad);
hr = IDirect3D7_CreateVertexBuffer(d3d, &desc, &buffer, 0);
ok(SUCCEEDED(hr), "Failed to create vertex buffer, hr %#x.\n", hr);
@@ -8856,7 +8853,7 @@ static void test_resource_priority(void)
goto done;
}
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); i++)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
memset(&surface_desc, 0, sizeof(surface_desc));
surface_desc.dwSize = sizeof(surface_desc);
@@ -9089,9 +9086,9 @@ static void test_fog_interpolation(void)
hr = IDirect3DDevice7_SetRenderState(device, D3DRENDERSTATE_TEXTUREFACTOR, 0x000000ff);
ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
- if(!(caps.dpcTriCaps.dwRasterCaps & D3DPRASTERCAPS_FOGTABLE) && tests[i].tfog)
+ if (!(caps.dpcTriCaps.dwRasterCaps & D3DPRASTERCAPS_FOGTABLE) && tests[i].tfog)
continue;
hr = IDirect3DDevice7_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0x00808080, 0.0f, 0);
@@ -9238,7 +9235,7 @@ static void test_negative_fixedfunction_fog(void)
hr = IDirect3DDevice7_SetRenderState(device, D3DRENDERSTATE_CLIPPING, FALSE);
ok(SUCCEEDED(hr), "SetRenderState failed, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
if (!(caps.dpcTriCaps.dwRasterCaps & D3DPRASTERCAPS_FOGTABLE) && tests[i].tfog)
continue;
@@ -9356,7 +9353,7 @@ static void test_table_fog_zw(void)
hr = IDirect3DDevice7_SetRenderState(device, D3DRENDERSTATE_FOGTABLEMODE, D3DFOG_LINEAR);
ok(SUCCEEDED(hr), "Failed to set render state, hr %#x.\n", hr);
- for (i = 0; i < sizeof(tests) / sizeof(*tests); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
hr = IDirect3DDevice7_Clear(device, 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x000000ff, 1.0f, 0);
ok(SUCCEEDED(hr), "Failed to clear, hr %#x.\n", hr);
@@ -9519,7 +9516,7 @@ static void test_signed_formats(void)
hr = IDirect3DDevice7_SetTextureStageState(device, 0, D3DTSS_COLORARG2, D3DTA_TFACTOR);
ok(SUCCEEDED(hr), "Failed to set texture stage state, hr %#x.\n", hr);
- for (i = 0; i < sizeof(formats) / sizeof(*formats); i++)
+ for (i = 0; i < ARRAY_SIZE(formats); ++i)
{
for (width = 1; width < 5; width += 3)
{
@@ -9822,7 +9819,7 @@ static void test_color_fill(void)
if (!(supported_fmts & (SUPPORT_YUY2 | SUPPORT_UYVY)) || !(hal_caps.dwCaps & DDCAPS_OVERLAY))
skip("Overlays or some YUV formats not supported, skipping YUV colorfill tests.\n");
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
DWORD expected_broken = tests[i].result;
@@ -10049,7 +10046,7 @@ static void test_color_fill(void)
hr = IDirectDrawSurface7_Blt(surface, &rect, NULL, NULL, DDBLT_COLORFILL | DDBLT_ROP | DDBLT_WAIT, &fx);
ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr);
- for (i = 0; i < sizeof(rops) / sizeof(*rops); i++)
+ for (i = 0; i < ARRAY_SIZE(rops); ++i)
{
fx.dwROP = rops[i].rop;
hr = IDirectDrawSurface7_Blt(surface, NULL, surface2, NULL, DDBLT_ROP | DDBLT_WAIT, &fx);
@@ -10450,7 +10447,7 @@ static void test_colorkey_precision(void)
memset(&lock_desc, 0, sizeof(lock_desc));
lock_desc.dwSize = sizeof(lock_desc);
- for (t = 0; t < sizeof(tests) / sizeof(*tests); ++t)
+ for (t = 0; t < ARRAY_SIZE(tests); ++t)
{
if (is_nvidia && tests[t].skip_nv)
{
@@ -10824,7 +10821,7 @@ static void test_shademode(void)
desc.dwSize = sizeof(desc);
desc.dwCaps = D3DVBCAPS_WRITEONLY;
desc.dwFVF = D3DFVF_XYZ | D3DFVF_DIFFUSE;
- desc.dwNumVertices = sizeof(quad_strip) / sizeof(*quad_strip);
+ desc.dwNumVertices = ARRAY_SIZE(quad_strip);
hr = IDirect3D7_CreateVertexBuffer(d3d, &desc, &vb_strip, 0);
ok(hr == D3D_OK, "Failed to create vertex buffer, hr %#x.\n", hr);
hr = IDirect3DVertexBuffer7_Lock(vb_strip, 0, &data, NULL);
@@ -10833,7 +10830,7 @@ static void test_shademode(void)
hr = IDirect3DVertexBuffer7_Unlock(vb_strip);
ok(hr == D3D_OK, "Failed to unlock vertex buffer, hr %#x.\n", hr);
- desc.dwNumVertices = sizeof(quad_list) / sizeof(*quad_list);
+ desc.dwNumVertices = ARRAY_SIZE(quad_list);
hr = IDirect3D7_CreateVertexBuffer(d3d, &desc, &vb_list, 0);
ok(hr == D3D_OK, "Failed to create vertex buffer, hr %#x.\n", hr);
hr = IDirect3DVertexBuffer7_Lock(vb_list, 0, &data, NULL);
@@ -10845,7 +10842,7 @@ static void test_shademode(void)
/* Try it first with a TRIANGLESTRIP. Do it with different geometry because
* the color fixups we have to do for FLAT shading will be dependent on that. */
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
hr = IDirect3DDevice7_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xffffffff, 0.0f, 0);
ok(hr == D3D_OK, "Failed to clear, hr %#x.\n", hr);
@@ -10949,7 +10946,7 @@ static void test_lockrect_invalid(void)
goto done;
}
- for (r = 0; r < sizeof(resources) / sizeof(*resources); ++r)
+ for (r = 0; r < ARRAY_SIZE(resources); ++r)
{
memset(&surface_desc, 0, sizeof(surface_desc));
surface_desc.dwSize = sizeof(surface_desc);
@@ -10980,7 +10977,7 @@ static void test_lockrect_invalid(void)
ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x, type %s.\n", hr, resources[r].name);
*/
- for (i = 0; i < sizeof(valid) / sizeof(*valid); ++i)
+ for (i = 0; i < ARRAY_SIZE(valid); ++i)
{
RECT *rect = &valid[i];
@@ -10995,7 +10992,7 @@ static void test_lockrect_invalid(void)
ok(SUCCEEDED(hr), "Failed to unlock surface, hr %#x, type %s.\n", hr, resources[r].name);
}
- for (i = 0; i < sizeof(invalid) / sizeof(*invalid); ++i)
+ for (i = 0; i < ARRAY_SIZE(invalid); ++i)
{
RECT *rect = &invalid[i];
@@ -11408,7 +11405,7 @@ static void test_blt(void)
hr = IDirectDrawSurface7_Blt(surface, NULL, rt, NULL, 0, NULL);
ok(SUCCEEDED(hr), "Failed to blit, hr %#x.\n", hr);
- for (i = 0; i < sizeof(test_data) / sizeof(*test_data); ++i)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
hr = IDirectDrawSurface7_Blt(surface, &test_data[i].dst_rect,
surface, &test_data[i].src_rect, DDBLT_WAIT, NULL);
@@ -11509,7 +11506,7 @@ static void test_blt_z_alpha(void)
fx.dwAlphaSrcConstBitDepth = 8;
U4(fx).dwAlphaSrcConst = 0x22;
- for (i = 0; i < sizeof(blt_flags) / sizeof(*blt_flags); ++i)
+ for (i = 0; i < ARRAY_SIZE(blt_flags); ++i)
{
fx.dwFillColor = 0x3300ff00;
hr = IDirectDrawSurface7_Blt(src_surface, NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &fx);
@@ -11692,7 +11689,7 @@ static void test_getdc(void)
hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL);
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
- for (i = 0; i < (sizeof(test_data) / sizeof(*test_data)); ++i)
+ for (i = 0; i < ARRAY_SIZE(test_data); ++i)
{
memset(&surface_desc, 0, sizeof(surface_desc));
surface_desc.dwSize = sizeof(surface_desc);
@@ -12411,7 +12408,7 @@ static void test_surface_desc_size(void)
hr = IDirectDraw7_SetCooperativeLevel(ddraw, NULL, DDSCL_NORMAL);
ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr);
- for (i = 0; i < sizeof(surface_caps) / sizeof(*surface_caps); ++i)
+ for (i = 0; i < ARRAY_SIZE(surface_caps); ++i)
{
memset(&surface_desc, 0, sizeof(surface_desc));
surface_desc.dwSize = sizeof(surface_desc);
@@ -12430,7 +12427,7 @@ static void test_surface_desc_size(void)
ok(hr == DD_OK, "Failed to query IDirectDrawSurface3, hr %#x, type %s.\n", hr, surface_caps[i].name);
/* GetSurfaceDesc() */
- for (j = 0; j < sizeof(desc_sizes) / sizeof(*desc_sizes); ++j)
+ for (j = 0; j < ARRAY_SIZE(desc_sizes); ++j)
{
memset(&desc, 0, sizeof(desc));
desc.dwSize = desc_sizes[j];
@@ -12455,7 +12452,7 @@ static void test_surface_desc_size(void)
}
/* Lock() */
- for (j = 0; j < sizeof(desc_sizes) / sizeof(*desc_sizes); ++j)
+ for (j = 0; j < ARRAY_SIZE(desc_sizes); ++j)
{
const BOOL ignore_size = surface_caps[i].caps & DDSCAPS_TEXTURE
&& !(surface_caps[i].caps & DDSCAPS_VIDEOMEMORY);
@@ -12547,7 +12544,7 @@ static void test_surface_desc_size(void)
}
/* GetDisplayMode() */
- for (j = 0; j < sizeof(desc_sizes) / sizeof(*desc_sizes); ++j)
+ for (j = 0; j < ARRAY_SIZE(desc_sizes); ++j)
{
memset(&desc, 0xcc, sizeof(desc));
desc.dwSize = desc_sizes[j];
@@ -13292,7 +13289,7 @@ static void test_compute_sphere_visibility(void)
IDirect3DDevice7_SetTransform(device, D3DTRANSFORMSTATE_WORLD, &identity);
- for (i = 0; i < sizeof(tests) / sizeof(tests[0]); ++i)
+ for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
IDirect3DDevice7_SetTransform(device, D3DTRANSFORMSTATE_VIEW, tests[i].view);
IDirect3DDevice7_SetTransform(device, D3DTRANSFORMSTATE_PROJECTION, tests[i].proj);
--
2.11.0
Dec. 27, 2017
Re: [PATCH 1/2] ddraw/tests: Sync test_clear with d3d8/9.
by Henri Verbeet
On 22 December 2017 at 16:51, Stefan Dösinger <stefan(a)codeweavers.com> wrote:
> + U1(rect[0]).x1 = 160;
> + U2(rect[0]).y1 = 120;
> + U3(rect[0]).x2 = 480;
> + U4(rect[0]).y2 = 360;
> + hr = IDirect3DViewport_Clear(viewport3, 1, &rect[0], D3DCLEAR_TARGET);
> + ok(hr == D3D_OK, "Failed to clear, hr %#x.\n", hr);
> +
> + color = get_surface_color(rt, 158, 118);
> + ok(compare_color(color, 0x00ffffff, 0), "(158,118) has color %08x\n", color);
> + color = get_surface_color(rt, 162, 118);
> + ok(compare_color(color, 0x00ffffff, 0), "(162,118) has color %08x\n", color);
> + color = get_surface_color(rt, 158, 122);
> + ok(compare_color(color, 0x00ffffff, 0), "(158,122) has color %08x\n", color);
> + color = get_surface_color(rt, 162, 122);
> + ok(compare_color(color, 0x000000ff, 0), "(162,122) has color %08x\n", color);
> +
> + color = get_surface_color(rt, 318, 238);
> + ok(compare_color(color, 0x000000ff, 0), "(318,238) has color %08x\n", color);
> + color = get_surface_color(rt, 322, 238);
> + ok(compare_color(color, 0x00ffffff, 0), "(322,328) has color %08x\n", color);
> + color = get_surface_color(rt, 318, 242);
> + ok(compare_color(color, 0x00ffffff, 0), "(318,242) has color %08x\n", color);
> + color = get_surface_color(rt, 322, 242);
> + ok(compare_color(color, 0x0000ff00, 0), "(322,242) has color %08x\n", color);
> +
> + color = get_surface_color(rt, 478, 358);
> + ok(compare_color(color, 0x0000ff00, 0), "(478,358 has color %08x\n", color);
> + color = get_surface_color(rt, 482, 358);
> + ok(compare_color(color, 0x00ffffff, 0), "(482,358) has color %08x\n", color);
> + color = get_surface_color(rt, 478, 362);
> + ok(compare_color(color, 0x00ffffff, 0), "(478,362) has color %08x\n", color);
> + color = get_surface_color(rt, 482, 362);
> + ok(compare_color(color, 0x00ffffff, 0), "(482,362) has color %08x\n", color);
> +
These fail for me on Windows in ddraw1:
ddraw1.c:10895: Test failed: (158,118) has color 000000ff
ddraw1.c:10897: Test failed: (162,118) has color 000000ff
ddraw1.c:10899: Test failed: (158,122) has color 000000ff
ddraw1.c:10901: Test failed: (162,122) has color 0000ff00
ddraw1.c:10904: Test failed: (318,238) has color 0000ff00
ddraw1.c:10906: Test failed: (322,328) has color 0000ff00
ddraw1.c:10908: Test failed: (318,242) has color 0000ff00
ddraw1.c:10915: Test failed: (482,358) has color 000000ff
ddraw1.c:10917: Test failed: (478,362) has color 000000ff
ddraw1.c:10919: Test failed: (482,362) has color 000000ff
ddraw2,4,7 pass. Windows 7, "AMD Radeon HD 6310 Graphics".
Dec. 27, 2017
Re: [PATCH] usp10/tests: Add missing return value tests (Coverity)
by Aric Stewart
Signed-off-by: Aric Stewart <aric(a)codeweavers.com>
On 12/23/17 4:22 AM, Nikolay Sivov wrote:
> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
> ---
> dlls/usp10/tests/usp10.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c
> index 55bec7f74f..35cdec545b 100644
> --- a/dlls/usp10/tests/usp10.c
> +++ b/dlls/usp10/tests/usp10.c
> @@ -3150,6 +3150,7 @@ static void test_ScriptXtoX(void)
> WORD clust = 0;
> INT advance = 16;
> hr = ScriptXtoCP(iX, 1, 1, &clust, psva, &advance, &sa, &piCP, &piTrailing);
> + ok(hr == S_OK, "ScriptXtoCP() failed, hr %#x.\n", hr);
> ok(piCP==0 && piTrailing==1,"%i should return 0(%i) and 1(%i)\n",iX,piCP,piTrailing);
> }
> for (iX = 9; iX < 16; iX++)
> @@ -3157,6 +3158,7 @@ static void test_ScriptXtoX(void)
> WORD clust = 0;
> INT advance = 16;
> hr = ScriptXtoCP(iX, 1, 1, &clust, psva, &advance, &sa, &piCP, &piTrailing);
> + ok(hr == S_OK, "ScriptXtoCP() failed, hr %#x.\n", hr);
> ok(piCP==0 && piTrailing==0,"%i should return 0(%i) and 0(%i)\n",iX,piCP,piTrailing);
> }
>
>
Dec. 27, 2017
Re: [PATCH v3] msvcrt: Add _get_[winmajor|winminor|osver].
by Piotr Caban
Signed-off-by: Piotr Caban <piotr(a)codeweavers.com>
Dec. 27, 2017