[Bug 20591] New: FIFA 08: crashes when starting a match

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Nov 6 06:59:10 CST 2009


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

           Summary: FIFA 08: crashes when starting a match
           Product: Wine
           Version: 1.1.31
          Platform: PC
               URL: http://largedownloads.ea.com/pub/demos/Fifa/08/FIFA08_
                    PC_Demo.exe
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: directx-d3d
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: b.brachaczek at gmail.com
                CC: stefandoesinger at gmx.at


FIFA 08 (also demo version, link in URL) crashes when starting a match (you see
some frames, and when the game is going to show players, it crashes) in Wine
1.1.31 and later (also in current git). This was introduced in this commit:

wined3d: Don't reserve clipping constants needlessly.
author    Stefan Dösinger <stefan at codeweavers.com>
     Tue, 6 Oct 2009 18:59:44 +0000 (20:59 +0200)
commit    8a68f418dbea0967003818e5bbac10e5ffc22512

I added the following code right before the new if..else clause in
dlls/wined3d/arb_program_shader.c in current git:

FIXME("clip_limit: gl_info->limits.clipplanes = %u\n",
gl_info->limits.clipplanes);
FIXME("clip_limit: ctx->target_version = %u (ARB = %d)\n", ctx->target_version,
ARB);
FIXME("clip_limit: use_nv_clip(gl_info) = %d, ctx->target_version >= NV2 =
%d\n", use_nv_clip(gl_info), ctx->target_version >= NV2);
unsigned int __mask = ctx->cur_vs_args->boolclip.clipplane_mask;
FIXME("clip_limit: mask = %u\n", __mask);
FIXME("clip_limit: count_bits(mask) = %u\n", count_bits(__mask));

And got those messages right before the crash:

fixme:d3d_shader:shader_generate_arb_declarations clip_limit:
gl_info->limits.clipplanes = 6
fixme:d3d_shader:shader_generate_arb_declarations clip_limit:
ctx->target_version = 0 (ARB = 0)
fixme:d3d_shader:shader_generate_arb_declarations clip_limit:
use_nv_clip(gl_info) = 0, ctx->target_version >= NV2 = 0
fixme:d3d_shader:shader_generate_arb_declarations clip_limit: mask = 0
fixme:d3d_shader:shader_generate_arb_declarations clip_limit: count_bits(mask)
= 0

And by the way I've also tried adding the following code in place of this
if..else clause in the current git:
clip_limit = gl_info->limits.clipplanes;
if(ctx->target_version == ARB) clip_limit = min(clip_limit, 4);
And FIFA doesn't crash then, but I guess it's not the proper way to fix the
problem.

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