https://bugs.winehq.org/show_bug.cgi?id=38785
Bug ID: 38785 Summary: Client Wait Sync Timeout Product: Wine Version: 1.7.45 Hardware: x86 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: isakov-sl@bk.ru
Testing Chessmaster 10 Demo I got a crash and trace it in log having a message --- glClientWaitSync returned 0x911b ---
This is GL_TIMEOUT_EXPIRED_APPLE and there is a comment related to this ---- /* Apple seems to be into arbitrary limits, and timeouts larger than * 0xfffffffffffffbff immediately return GL_TIMEOUT_EXPIRED. We don't * really care and can live with waiting a few μs less. (OS X 10.7.4). */ ----
I know how you like Apple so I decided to add here ---- switch (gl_ret) { case GL_ALREADY_SIGNALED: case GL_CONDITION_SATISFIED: ret = WINED3D_EVENT_QUERY_OK; break; /* here my addition */ + case GL_TIMEOUT_EXPIRED_APPLE: + ret = WINED3D_EVENT_QUERY_NOT_STARTED; + break; --------- and voila! Chessmaster works and no more crashes.
So there is my question. Why default return WINED3D_EVENT_QUERY_ERROR causes crash?