https://bugs.winehq.org/show_bug.cgi?id=56755
Bug ID: 56755 Summary: White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c) Product: Wine Version: 9.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: windowscodecs Assignee: wine-bugs@winehq.org Reporter: czahrien@gmail.com Distribution: ---
Created attachment 76545 --> https://bugs.winehq.org/attachment.cgi?id=76545 Logs containing the FIXME messages described above.
From what I have been able to read this bug was introduced earlier this year when Daybreak updated EverQuest to use DirectX 11.
The logs report the following error messsage:
0340:fixme:wincodecs:FormatConverter_CanConvert Unsupported conversion {6fddc324-4e03-4bfe-b185-3d77768dc90f} -> {05ec7c2b-f1e6-4961-ad46-e1cc810a87d2}
The error message indicates specifically that a conversion failed from 16bppBGRA5551 to 32bppBGRA.
I have a minimal patch written up which addresses the issue for me. If this is not a known issue that is being worked on I would not mind working on cleaning it up and submitting it to the project.
https://bugs.winehq.org/show_bug.cgi?id=56755
--- Comment #1 from Ben Mayes czahrien@gmail.com --- Created attachment 76547 --> https://bugs.winehq.org/attachment.cgi?id=76547 Image of a character model with a blank texture on the character creation screen.
https://bugs.winehq.org/show_bug.cgi?id=56755
--- Comment #2 from Ben Mayes czahrien@gmail.com --- Created attachment 76548 --> https://bugs.winehq.org/attachment.cgi?id=76548 Small patch that fixes the issue for me.
https://bugs.winehq.org/show_bug.cgi?id=56755
--- Comment #3 from Ben Mayes czahrien@gmail.com --- Created attachment 76550 --> https://bugs.winehq.org/attachment.cgi?id=76550 Image of the same model after the patch was applied
https://bugs.winehq.org/show_bug.cgi?id=56755
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #4 from Vijay Kamuju infyquest@gmail.com --- Please send the patch along with a test.
https://bugs.winehq.org/show_bug.cgi?id=56755
Ben Mayes czahrien@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #76548|0 |1 is obsolete| |
--- Comment #5 from Ben Mayes czahrien@gmail.com --- Created attachment 76557 --> https://bugs.winehq.org/attachment.cgi?id=76557 Patch File
https://bugs.winehq.org/show_bug.cgi?id=56755
Ben Mayes czahrien@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |czahrien@gmail.com
--- Comment #6 from Ben Mayes czahrien@gmail.com --- Created attachment 76559 --> https://bugs.winehq.org/attachment.cgi?id=76559 Test application - builds with Visual Studio Community 2022
The test application loads a bitmap file, runs it through the conversion that was added to converter.c, then renders it.
The original bitmap is a 32 bit gradient with no noticeable color banding, due to the down conversion from 32 to 16 bit, color banding is visible on the displayed bitmap.
https://bugs.winehq.org/show_bug.cgi?id=56755
--- Comment #7 from Ben Mayes czahrien@gmail.com --- I just attached a patch file and an archive containing a solution for a test application.
The test application needs to be built in Visual Studio. It loads a bitmap file, runs it through cascading conversions which cover the one added to converter.c, then renders it to the window.
The original bitmap is a 32 bit gradient with no noticeable color banding, due to the down conversion from 32 to 16 bit, color banding is visible on the displayed bitmap. Between this and the color accuracy, the conversion appears to be correct.
I am open to hearing any thoughts on how I could have potentially tested this entirely on Linux using the wine includes and libraries and winemaker rather than using Visual Studio. Although the examples online are rather straightforward a lot of them do not build because they utilize types and helper functions defined in d2d1helper.h which is not present in wine.
https://bugs.winehq.org/show_bug.cgi?id=56755
--- Comment #8 from Vijay Kamuju infyquest@gmail.com --- if you can add a test to this file dlls/windowscodecs/tests/bmpformat.c, it would be easier to convince.
Also create a MR for this at to get it in the source tree : https://gitlab.winehq.org/wine/wine/-/merge_requests
https://bugs.winehq.org/show_bug.cgi?id=56755
kai@gnukai.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kai@gnukai.com
https://bugs.winehq.org/show_bug.cgi?id=56755
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |dcb5c97d02d58a0478e735eb715 | |8c9bf3239791c
--- Comment #9 from Vijay Kamuju infyquest@gmail.com --- https://source.winehq.org/git/wine.git/commitdiff/dcb5c97d02d58a0478e735eb71...
https://bugs.winehq.org/show_bug.cgi?id=56755
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.11.
https://bugs.winehq.org/show_bug.cgi?id=56755
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |9.0.x