https://bugs.winehq.org/show_bug.cgi?id=38875
--- Comment #8 from Lauri Kenttä lauri.kentta@gmail.com --- Created attachment 56452 --> https://bugs.winehq.org/attachment.cgi?id=56452 Sample program
Here's a stripped-down version of the test program. In this one, you press numbers 1-6 to select different rendering functions. Look at the source and stdout for more information. There are a lot of asserts to catch any failures.
This program shows that blitting from DDSCAPS_OFFSCREENPLAIN to the primary surface works fine. This bug report is either fixed, incomplete or invalid.
There are other problems, not related to the title of this bug report:
If a ddraw test is run first, SetPixelFormat in InitOpenGL fails, so it's not a surprise that it won't render anything. Setting depth buffer and stencil buffer to 0 bits (as they are not needed) fixes this problem, though. I suppose this is a known problem of the current ddraw implementation.
If OpenGL is initialized first, ddraw doesn't draw anything, but I don't see any of the functions actually failing in that case.
Switching ddraw->OpenGL->ddraw crashes Wine with this error: err:d3d:context_check_fbo_status FBO 0 is incomplete, driver bug? wine: Unhandled page fault on read access to 0x00000000 ...