[Bug 24276] New: Max Payne 2 - early crash when running with mesa driver

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Sep 5 07:59:13 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=24276

           Summary: Max Payne 2 - early crash when running with mesa
                    driver
           Product: Wine
           Version: 1.3.2
          Platform: x86-64
               URL: http://www.rockstargames.com/maxpayne2/mp2_downloads.h
                    tml
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: P2
         Component: directx-d3d
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: liquid.acid at gmx.net
                CC: hverbeet at gmail.com


Created an attachment (id=30574)
 --> (http://bugs.winehq.org/attachment.cgi?id=30574)
i965 classic crash

Hi there,

like I already feared in bug #12051 the game 'Max Payne 2' never worked when
wined3d runs on a mesa driver.

I somehow knew this problem, because back then when I still had my Intel i915
it wouldn't run as well. However I always blamed it on limited hardware support
of the integrated Intel GPU. I'm now back with a i965-based GPU (Arrandale, IGP
in a Core i5 M450) and this problem still occurs. The Arrandale has DX10
features, so something can't be right here.

Testing the game with swrast (both classic and gallium, powered by LLVM) yields
exactly the same results.

What to do?
Fetch the MP2 demo and launch it. Finish config (it shouldn't matter what gfx
settings you select) and let the launcher start the game. After the short intro
movie a loading screen appears. Shortly after the progress bar advances for the
first time, the game crashes.

I'm going to attach some logs from the crashes:
(i) i965 with classic driver (gallium doesn't work, crashes somewhere else but
in mesa code)
(ii) swrast gallium
(iii) swrast classic

All segfault at the exact same position:
Backtrace:
0x00370265: movl    0x8(%esi),%eax

Using winedbg and disasm yields this:
0x00370250: movl    %ecx,0x00000000
0x00370256: addl    $0xc8,%esp
0x0037025c: ret    $0x24
0x0037025f: int    $3
0x00370260 ??4P_TextureFormat@@QAEAAV0 at ABV0@@Z in e2mfc: pushl    %esi
0x00370261: movl    0x8(%esp),%esi
0x00370265: movl    0x8(%esi),%eax
0x00370268: movl    %eax,0x8(%ecx)
0x0037026b: movl    0xc(%esi),%edx
0x0037026e: movl    %edx,0xc(%ecx)

So there is some sort of texture format (checking?) function in e2mfc that
freaks out when mesa is used. I suspect that wine doesn't advertise certain
texture formats (that are _always_ available on native Windows) when running on
a mesa driver, or the mesa driver doesn't advertise them - no idea?

Any idea how to procede with the debugging? I still have to check the game on
my r700 card, also with mesa drivers (no fglrx installed, does this even work
with the latest xserver?)

Adding Henri and Stefan because they likely know what to do next (especially
Henri, since he's also working on mesa - great job anyway!)

Greets,
Tobias

EDIT:

uname -a:
Linux leena 2.6.35.4 #3 SMP PREEMPT Mon Aug 30 22:55:57 CEST 2010 x86_64
Intel(R) Core(TM) i5 CPU M 450 @ 2.40GHz GenuineIntel GNU/Linux

i965 and swrast gallium are built from git master, swrast classic is older. And
yes, these are the 32bit compiles :)

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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