https://bugs.winehq.org/show_bug.cgi?id=40215
Bug ID: 40215 Summary: DirectX Texture Tool save wrong DDS file with native d3dx9_36.dll Product: Wine Version: 1.9.4 Hardware: x86 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: isakov-sl@bk.ru
Created attachment 53734 --> https://bugs.winehq.org/attachment.cgi?id=53734 Left with native d3dx9_36, right with my patches
The tool with its sources can be downloaded from https://www.microsoft.com/en-us/download/details.aspx?id=6812
wine-1.9.4-118-g36095db from git Start DxTex.exe New texture with default setting (256x256, 1 level, A8R8G8B8 format). Open onto this surface some small png file. Looks on the screen OK. Save as DDS texture. With builtin d3dx9_36.dll it is impossible because this function is just not implemented ~~~~ if (file_format == D3DXIFF_DDS) { FIXME("DDS file format isn't supported yet\n"); return E_NOTIMPL; } ~~~~ But this is possible with native d3dx9_36.dll. The file saved successfully. I open it with GraphicsConverter (Lemke Soft) and see wrong picture (attached). GC is good application. Next test with my own implementation of d3dx9_36.dll containing the DDS save. I got good file that correctly opened by the GraphicsConverter.
I can't propose that microsoft d3dx9_36 is wrong. So I have to propose that the interface between Wine d3d9 and native d3dx9_36 is wrong.
gcc-4.8.4 from MacPort