Bug 42955

Summary: [SNB] Massive artifacts in proprietary games
Product: Mesa Reporter: Iaroslav Andrusyak <pontostroy>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact: fangxun <xunx.fang>
Severity: normal    
Priority: medium CC: mus.svz, rune
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: ET:Quake Wars
Heroes of Newerth
UT 2004
i915_error_state

Description Iaroslav Andrusyak 2011-11-15 12:03:16 UTC
Created attachment 53583 [details]
ET:Quake Wars

Intel(R) Pentium(R) CPU G620

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Desktop x86/MMX/SSE2
OpenGL version string: 2.1 Mesa 7.12-devel



ET:Quake Wars, Unreal tournament 2004, Heroes of Newerth, shows arttifacts with current git of mesaa and intel drivers.
But open source games like openarena, nexuiz, lightmark wirks fine, with out artifacts.
Comment 1 Gordon Jin 2011-11-15 16:58:52 UTC
Xun, can you reproduce this issue with ETQW on our Sandy Bridge desktop (Core i5)?
Comment 2 Iaroslav Andrusyak 2011-11-15 21:56:31 UTC
Created attachment 53590 [details]
Heroes of Newerth
Comment 3 Iaroslav Andrusyak 2011-11-15 22:01:15 UTC
Created attachment 53591 [details]
UT 2004
Comment 4 Iaroslav Andrusyak 2011-11-15 22:05:07 UTC
with mesa-git 2011.09.27 all works fine, but mesa-git 2011.10.17 and newer shows artifacts.
Comment 5 Joel 2011-11-18 08:08:22 UTC
At least the Heroes of Newerth and UT 2004 looks like it might be related to bug 41451.

If checking out e0304180c32227342dbb67b707bfae446543bb48 or e0304180c32227342dbb67b707bfae446543bb48 (last good respectively bad commit regarding bug mentioned above), it's also worth doing "git cherry-pick 3cc0a7be23ab603ed40d602595f673a44e079885" to avoid possible hard lockups.

ET:Quake wars remind me of some shader going out of bounds.
Does starting it from console as:
MESA_EXTENSION_OVERRIDE=-GL_NV_vertex_program ./etquakewars_binary
have an effect?
Comment 6 Iaroslav Andrusyak 2011-11-18 13:14:43 UTC
MESA_EXTENSION_OVERRIDE=-GL_NV_vertex_program has no effect
e0304180c32227342dbb67b707bfae446543bb48 fix UT2004 and HoN, 
but ETQW show artifacts
Comment 7 Joel 2011-11-25 05:28:02 UTC
This is odd, but I'm not able to reproduce the artifacts on the Heroes of Newerth title screen using my Sandybridge(core i5). Even tried the 32-bit version.

xf86-video-intel: git at 4a27dd287cdb85d80ceaf6b54e7de0c17e01c00d
mesa: git at 75cc24c876059d6eb183e07ed802f997fb416864
kernel: 3.1.1-2.fc16.x86_64   (from fedora 16)

Iaroslav, would you please post actual git revisions and kernel version you see this bug with?
Comment 8 mus.svz 2011-11-30 09:53:37 UTC
I don't know if this is in any way related, but bug #42506 also only happens on a G620/G630 system and NOT on a i5 system.
Also the artifacts in the UT 2004 screenshots look a little bit like the random artifacts I have in VAAPI accelerated videos: http://www.youtube.com/watch?v=ciITY_yER60

see bug #42506 for details.
Comment 9 Eric Anholt 2011-11-30 15:28:16 UTC
HON intro screen is definitely fixed by the fix in #41451.
Comment 10 Iaroslav Andrusyak 2011-12-07 08:53:59 UTC
i use mesa git 2011.12.06 version 
HON  - fixed
UT2004 - fixed
ETQW - Segmentation fault when loading menu

2594 MHz CPU
3664 MB System Memory
detecting video ram (set sys_videoRam on command line to override) ..
trying /proc/dri/0/umm
guess failed, return default low-end VRAM setting ( 128MB VRAM )
128 MB Video Memory
Async thread started
intel_do_flush_locked failed: Input/output error
WARNING: sdUserInterfaceManagerLocal::~sdUserInterfaceManagerLocal: instance 'guis/demos/hud' still exists at destruction
WARNING: sdUserInterfaceManagerLocal::~sdUserInterfaceManagerLocal: instance 'mainmenu' still exists at destruction
WARNING: sdUserInterfaceManagerLocal::~sdUserInterfaceManagerLocal: instance 'system' still exists at destruction
WARNING: sdUserInterfaceManagerLocal::~sdUserInterfaceManagerLocal: instance 'purewait' still exists at destruction
Segmentation fault


[  134.136984] [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung
[  134.136994] [drm] capturing error event; look for more information in /debug/dri/0/i915_error_state
[  134.140311] [drm:i915_wait_request] *ERROR* i915_wait_request returns -11 (awaiting 61703 at 61700, next 61704)
Comment 11 Iaroslav Andrusyak 2011-12-07 08:56:23 UTC
Created attachment 54192 [details]
i915_error_state

i915_error_state log
Comment 12 Joel 2011-12-13 22:59:47 UTC
Iaroslav: For manageability (unless a developer corrects me on this), file a new bug for the gpu hang and let this one be about the visual artifacts. Also consider learning how to do git bisects in order to find the commit that caused the change in behavior, that will increase the chances of finding the bugs.
Comment 13 Iaroslav Andrusyak 2011-12-14 08:48:18 UTC
visual artifacts  in UT2004 and Heroes of Newerth fixed, but ET:Quake Wars segfault every time with lates mesa, and i don't  know they fixed or not.
I can provide codedump file, and INTEL_DEBUG=all log if needed.
Comment 14 Rune Petersen 2012-07-28 18:25:08 UTC
ETQW still have artifacts with current master branch on git.

FYI compiling Mesa with --enable-debug, and assert is triggered when starting a game:

    brw_eu_emit.c:1671: brw_math2: Assertion `!src1.negate' failed

 
This might indicate the the cause of the artifacts.
Comment 15 Eric Anholt 2012-08-13 07:16:14 UTC
I see that corruption on ivb, which doesn't have the math operand modifier restrictions.  Also, the corruption looks like vertex position getting trashed, as opposed to just fragment shader math issues (which is where that bad POW is).
Comment 16 Eric Anholt 2012-10-03 18:21:39 UTC
Screenshot issue is now fixed:

commit 0334e8dc25d09e3254e61d5d122b4fd7bfbd627a
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Sep 21 07:50:05 2012 +0200

    i965: Remove broken non-interleaved-to-interleaved upload code.
    
    This failed when all the uploads to occur were uniform-type vertex data (lik
    glColor4f being active across a DrawArrays), because it would upload 1 eleme
    instead of 1 element per vertex.  There was no citation for how this code
    helped any particular application, and it breaks ETQW, so just remove it.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47170
    NOTE: This is a candidate for the 9.0 and 8.0 branches.
    Reviewed-and-tested-by: Kenneth Graunke <kenneth@whitecape.org>

For other issues, please open individual bug reports per bug.
Comment 17 Rune Petersen 2012-10-03 18:50:35 UTC
Confirmed. Thank you Eric

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.