Fixes a testbot crash.
-- v2: opengl32/tests: Skip the wglCopyContext test on Nvidia on Windows.
From: Alex Henrie alexhenrie24@gmail.com
Fixes a testbot crash.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54103 --- dlls/opengl32/tests/opengl.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/opengl32/tests/opengl.c b/dlls/opengl32/tests/opengl.c index 42c2626a2c2..a582e736011 100644 --- a/dlls/opengl32/tests/opengl.c +++ b/dlls/opengl32/tests/opengl.c @@ -1907,9 +1907,16 @@ static void test_copy_context(HDC hdc) ctx2 = wglCreateContext(hdc); ok(!!ctx2, "Failed to create GL context, last error %#lx.\n", GetLastError());
- ret = wglCopyContext(ctx, ctx2, GL_ALL_ATTRIB_BITS); - todo_wine - ok(ret, "Failed to copy GL context, last error %#lx.\n", GetLastError()); + if (!strcmp((char *)glGetString(GL_VENDOR), "NVIDIA Corporation") && strcmp(winetest_platform, "wine")) + { + win_skip("Avoiding a crash with Nvidia drivers on Windows.\n"); + } + else + { + ret = wglCopyContext(ctx, ctx2, GL_ALL_ATTRIB_BITS); + todo_wine + ok(ret, "Failed to copy GL context, last error %#lx.\n", GetLastError()); + }
ret = wglDeleteContext(ctx2); ok(ret, "Failed to delete GL context, last error %#lx.\n", GetLastError());
On Wed Feb 1 07:43:52 2023 +0000, Alex Henrie wrote:
changed this line in [version 2 of the diff](/wine/wine/-/merge_requests/2082/diffs?diff_id=30332&start_sha=a54108aa35de061d08e22b38c895ffd7f78b6bcf#8a2ee3809135d1f9c83c27e21ca761ef9ed76cee_1919_1910)
I've made the changes that you requested.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2032 addresses one of the AMD failures. Would you like to review that merge request as well?
On Wed Feb 1 07:47:42 2023 +0000, Alex Henrie wrote:
I've made the changes that you requested. https://gitlab.winehq.org/wine/wine/-/merge_requests/2032 addresses one of the AMD failures. Would you like to review that merge request as well?
Thanks.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2032 addresses one of the AMD failures. Would you like to review that merge request as well?
I meant the wglCopyContext() failure. Does MR2032 fix the wglCopyContext() failure as well? I prefer to let others familiar with OpenGL review MR2032.
On Wed Feb 1 07:56:32 2023 +0000, Zhiyi Zhang wrote:
Thanks.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2032 addresses
one of the AMD failures. Would you like to review that merge request as well? I meant the wglCopyContext() failure. Does MR2032 fix the wglCopyContext() failure as well? I prefer to let others familiar with OpenGL review MR2032.
No, neither of these merge requests fixes the wglCopyContext test on AMD. I am wondering: What was the reason for this test in the first place, if it crashes on Nvidia and fails on AMD?
On Wed Feb 1 08:05:31 2023 +0000, Alex Henrie wrote:
No, neither of these merge requests fixes the wglCopyContext test on AMD. I am wondering: What was the reason for this test in the first place, if it crashes on Nvidia and fails on AMD?
The test was added to verify that wglCopyContext() shouldn't crash on Windows. On Wine, wglCopyContext() crashes before MR416.
On Wed Feb 1 08:24:59 2023 +0000, Zhiyi Zhang wrote:
The test was added to verify that wglCopyContext() shouldn't crash on Windows. On Wine, wglCopyContext() crashes before MR416.
Does an application try to use it? How does that application behave on Windows?
On Wed Feb 1 20:26:27 2023 +0000, Zebediah Figura wrote:
Does an application try to use it? How does that application behave on Windows?
Cladan X2 (206250) uses the function. I don't have a Windows machine with Nvidia on hand to test the game. I think QA tested this game on Windows with Nvidia and it worked fine.
On Thu Feb 2 00:50:15 2023 +0000, Zhiyi Zhang wrote:
Cladan X2 (206250) uses the function. I don't have a Windows machine with Nvidia on hand to test the game. I think QA tested this game on Windows with Nvidia and it worked fine.
Looks like it's because I forgot to call wglMakeCurrent() before calling wglCopyContext(). With the fix in MR2092, the failures on AMD and NVIDIA are both gone.
On Thu Feb 2 03:28:22 2023 +0000, Zhiyi Zhang wrote:
Looks like it's because I forgot to call wglMakeCurrent() before calling wglCopyContext(). With the fix in MR2092, the failures on AMD and NVIDIA are both gone.
Great, let's do that instead. I'll close this merge request.
This merge request was closed by Alex Henrie.