[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