[Bug 47121] Soulbringer displays only black screen in hardware rendering mode

wine-bugs at winehq.org wine-bugs at winehq.org
Sat May 4 11:55:33 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=47121

--- Comment #2 from Paul Gofman <gofmanp at gmail.com> ---
Created attachment 64335
  --> https://bugs.winehq.org/attachment.cgi?id=64335
wined3d: Check if destination texture is FBO attachable in
glsl_blitter_supported().

I've tested the game (from GOG.com). The attached patch should be fixing the
problem (it is patching wined3d, not ddraw and is independent of the blamed
staging patch).

The game is using IDirect3DDevice7_Load() to copy textures. Without the staging
patch the textures are not GPU accessible and copy operations end up in CPU
blitter. When staging patch is there, it directs the textures to video memory
and the texture copy ends up in GLSL blitter. Which cannot actually blit them
because the destination texture has DXT1 format which is not FBO attachable.
The bug with current Staging can also be workarounded by setting
HKCU/Software/Wine/Direct3D/OffscreenRenderingMode to backbuffer. The attached
patch adds a check to GLSL blitter which prevents using the blitter for non FBO
attachable formats, and texture copies end up in CPU blitter again.

While the issue in this game is triggered by a tricky staging patch, it seems
to me that the check should be present in mainstream Wine, as the same problem
can potentially happen elsewhere regardless of staging patches. I will suggest
the patch to Wine.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list