[Bug 38545] New: Calculate surface size is wrong sometimes

wine-bugs at winehq.org wine-bugs at winehq.org
Thu May 7 03:06:10 CDT 2015


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

            Bug ID: 38545
           Summary: Calculate surface size is wrong sometimes
           Product: Wine
           Version: 1.7.42
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: directx-d3dx9
          Assignee: wine-bugs at winehq.org
          Reporter: isakov-sl at bk.ru
      Distribution: ---

Bug 38178 is closed resolved by prohibit DXTn texture. 
The real reason for the game crash is wrong sizes calculation in case of
compressed textures.
Even if we are not supporting DXTn compress/decompress we should allow the
application do this by own libraries and we must correctly calculate sizes in
those cases.
First what I see is the procedure calculate_dds_surface_size(..)
It adopted to block based textures but not to compressed textures
According to MSDN
https://msdn.microsoft.com/en-us/library/windows/desktop/bb205578(v=vs.85).aspx
the formula should be
max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or
16(DXT2-5)

But I see there are more caveats...

-- 
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