https://bugs.winehq.org/show_bug.cgi?id=57823
Bug ID: 57823 Summary: Serious Sam 4 missing some textures since wine 10.0 Product: Wine Version: 10.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: galdralag@bk.ru Distribution: ---
Created attachment 78033 --> https://bugs.winehq.org/attachment.cgi?id=78033 Screenshots wine9.22 and wine10.1
Serious Sam 4 game. Wine 9.22: all textures ok. Wine 10.1(and 10.0): missing some textures. See screenshots
https://bugs.winehq.org/show_bug.cgi?id=57823
Vjacheslav galdralag@bk.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=57823
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com
--- Comment #1 from Alex Henrie alexhenrie24@gmail.com --- I am seeing missing textures in Serious Sam 4 even on Wine 9.22. What video card and driver are you using?
https://bugs.winehq.org/show_bug.cgi?id=57823
--- Comment #2 from Vjacheslav galdralag@bk.ru --- (In reply to Alex Henrie from comment #1)
I am seeing missing textures in Serious Sam 4 even on Wine 9.22. What video card and driver are you using?
Attached screenshots created on Radeon RX 5700 XT. I also tried game on Nvidia 1050 Ti and I have same result: on wine9.22 textures ok, wine10.3 - textures bad
https://bugs.winehq.org/show_bug.cgi?id=57823
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #3 from Alex Henrie alexhenrie24@gmail.com --- OK, I see what you mean now: Textures are missing in both Wine 9.22 and Wine 10.2 on my Intel i7-1360P, whereas on my AMD RX 5500 the textures are present on Wine 9.22 and missing on Wine 10.2. We need to bisect the regression: https://gitlab.winehq.org/wine/wine/-/wikis/Regression-Testing
https://bugs.winehq.org/show_bug.cgi?id=57823
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |d3d Regression SHA1| |93a6d341d4cc00c46d576333fa0 | |a8049f67b8692 See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=44514 Version|10.0 |10.0-rc3 URL| |https://www.gog.com/en/game | |/serious_sam_4
--- Comment #4 from Alex Henrie alexhenrie24@gmail.com --- I did the test today. The result was:
93a6d341d4cc00c46d576333fa0a8049f67b8692 is the first bad commit commit 93a6d341d4cc00c46d576333fa0a8049f67b8692 Author: Elizabeth Figura zfigura@codeweavers.com AuthorDate: Sat Dec 14 12:35:38 2024 -0600 Commit: Alexandre Julliard julliard@winehq.org CommitDate: Tue Dec 17 14:54:34 2024 +0100
Revert "wined3d: Use bindless textures for GLSL shaders if possible.".
This reverts commit f6a1844dbed91b441ad69e7b15b5be242d063e87.
The use of bindless textures results in several bugs. Some appear to be our bugs; at least some of these would require us to attempt to keep textures nonresident when not used, and others have not yet been debugged. Some appear to be driver bugs or at least exacerbations of existing bugs that are not really fixable.
At the same time, separate samplers are a d3d10-level feature, and any d3d10-level GPU should be capable of supporting Vulkan, which does not use combined samplers. The Vulkan renderer does not suffer from the problem that the GL renderer does in this case.
Put another way, any application that is helped by the original commit should also be helped by the Vulkan renderer, and if the application in question is capable of running on a given GPU in the first place then the GPU should in practice support Vulkan.
The original commit fixed a clear and definite bug, and thus this revert reintroduces regressions in some applications, while fixing regressions in others. The long-term fix for these regressions is to finish the Vulkan renderer and default to it where possible.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56474 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56523 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56605 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56627 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57409
dlls/d3d11/tests/d3d11.c | 4 ++-- dlls/wined3d/adapter_gl.c | 15 --------------- dlls/wined3d/context_gl.c | 38 ++------------------------------------ dlls/wined3d/device.c | 24 ------------------------ dlls/wined3d/glsl_shader.c | 70 +--------------------------------------------------------------------- dlls/wined3d/texture.c | 20 +++++++------------- dlls/wined3d/view.c | 39 --------------------------------------- dlls/wined3d/wined3d_gl.h | 22 ---------------------- 8 files changed, 12 insertions(+), 220 deletions(-)
As the commit message suggested, I tried running Serious Sam 4 on Wine 10.3 with the environment variable WINE_D3D_CONFIG=renderer=vulkan and the textures came back. Alternatively, you can set the registry value HKCU\Software\Wine\Direct3D\renderer to vulkan. This workaround will be required until WineD3D switches to the Vulkan backend by default in a future version of Wine.