[PATCH] ddraw/tests: add test for HWTRANSFORMANDLIGHT flags
From: Michael Müller <michael(a)fds-team.de> Signed-off-by: Vijay Kiran Kamuju <infyquest(a)gmail.com> --- dlls/ddraw/tests/ddraw7.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index c199994d52..d695e968c9 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -346,6 +346,19 @@ static HRESULT WINAPI enum_devtype_cb(char *desc_str, char *name, D3DDEVICEDESC7 return DDENUMRET_OK; } +static HRESULT WINAPI enum_devtype_software_cb(char *desc_str, char *name, D3DDEVICEDESC7 *desc, void *ctx) +{ + BOOL *software_ok = ctx; + if (IsEqualGUID(&desc->deviceGUID, &IID_IDirect3DRGBDevice)) + { + ok(!(desc->dwDevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT), + "RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag\n"); + *software_ok = TRUE; + return DDENUMRET_CANCEL; + } + return DDENUMRET_OK; +} + static IDirect3DDevice7 *create_device(HWND window, DWORD coop_level) { IDirectDrawSurface7 *surface, *ds; @@ -356,6 +369,7 @@ static IDirect3DDevice7 *create_device(HWND window, DWORD coop_level) IDirect3D7 *d3d7; HRESULT hr; BOOL hal_ok = FALSE; + BOOL software_ok = FALSE; const GUID *devtype = &IID_IDirect3DHALDevice; if (!(ddraw = create_ddraw())) @@ -399,6 +413,10 @@ static IDirect3DDevice7 *create_device(HWND window, DWORD coop_level) ok(SUCCEEDED(hr), "Failed to enumerate devices, hr %#x.\n", hr); if (hal_ok) devtype = &IID_IDirect3DTnLHalDevice; + hr = IDirect3D7_EnumDevices(d3d7, enum_devtype_software_cb , &software_ok); + ok(SUCCEEDED(hr), "Failed to enumerate devices, hr %#x.\n", hr); + if (!software_ok) win_skip("RGB device not found, unable to check flags\n"); + memset(&z_fmt, 0, sizeof(z_fmt)); hr = IDirect3D7_EnumZBufferFormats(d3d7, devtype, enum_z_fmt, &z_fmt); if (FAILED(hr) || !z_fmt.dwSize) -- 2.21.0
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=50094 Your paranoid android. === debian9 (32 bit report) === ddraw: ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag Report errors: ddraw:ddraw7 has unaccounted for failure messages ddraw:ddraw7 returned success despite having failures === debian9 (32 bit French report) === ddraw: ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag Report errors: ddraw:ddraw7 has unaccounted for failure messages ddraw:ddraw7 returned success despite having failures === debian9 (32 bit Japanese:Japan report) === ddraw: ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag Report errors: ddraw:ddraw7 has unaccounted for failure messages ddraw:ddraw7 returned success despite having failures === debian9 (32 bit Chinese:China report) === ddraw: ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag Report errors: ddraw:ddraw7 has unaccounted for failure messages ddraw:ddraw7 returned success despite having failures === debian9 (build log) === X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) === debian9 (32 bit WoW report) === ddraw: ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag Report errors: ddraw:ddraw7 has unaccounted for failure messages ddraw:ddraw7 returned success despite having failures === debian9 (64 bit WoW report) === ddraw: ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag ddraw7.c:354: Test failed: RGB emulation device shouldn't have HWTRANSFORMANDLIGHT flag Report errors: ddraw:ddraw7 has unaccounted for failure messages ddraw:ddraw7 returned success despite having failures === debian9 (build log) === X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig)
The testbot is of course right about this. This test is from a staging patch, and the corresponding fix isn't included.
I forgot to put the todo block for the test. I will resend the test once testbot is up and running. It seems some vm's are offline. On Fri, Mar 29, 2019 at 7:19 PM Henri Verbeet <hverbeet(a)gmail.com> wrote:
The testbot is of course right about this. This test is from a staging patch, and the corresponding fix isn't included.
participants (3)
-
Henri Verbeet -
Marvin -
Vijay Kiran Kamuju