https://bugs.winehq.org/show_bug.cgi?id=54787
Bug ID: 54787 Summary: Penumbra: Overture in game black screen with enabled Anti-Aliasing (multisample) Product: Wine Version: 8.3 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: d3d Assignee: wine-bugs@winehq.org Reporter: illia.a.polishchuk@globallogic.com Distribution: ---
How to reproduce: 1 - Download Penumbra: Overture game in Steam 2 - Enable the game compatibility setting "Force the use of a specific Steam Play compatibility tool" 3 - Set all the game settings to high (The important is "anti-aliasing" setting = 4 and "Post Effects" = on and "Bloom" = on) 5 - Run new game.
Actual result: Black screen rendered
It can't be reproduced for pure windows on windows version and native linux version on linux
This bug was observed while implementing workaround for "mesa" project: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22147/diffs?commit...
The bug reason in GL spec (8.7): "An INVALID_OPERATION error is generated by CopyTexImage*D" "the effective value of SAMPLE_BUFFERS for the read framebuffer (see section 9.2.3.1) is one."
BUT
Windows version on Windows OS uses just wglChoosePixelFormatARB call with WGL_SAMPLES_ARB argument And game has common GL_SAMPLES = 0 and arb WGL_SAMPLES = 4
Probably WGL_SAMPLES does not have the multisample restriction but `wine` translation breaks this
When wine translates it to a Linux it uses explicit renderbuffer with samples https://gitlab.winehq.org/wine/wine/-/blob/master/dlls/wined3d/texture.c#L21...