Bug 44567

Summary: [965gm] green artifacts when using GLSL in XBMC
Product: Mesa Reporter: Peter Ross <pross>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium CC: dj, idr, kenneth, pross
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Peter Ross 2012-01-07 21:49:56 UTC
Hardware: Intel G35 HDMI
Software: Xbox Media Center (V11)
Problem: When rending to GLSL there are small green dots sprinkled randomly over the video output. This occurs in Mesa 7.11 and later (including current git).

I have bisected the problem to commit 615117ce4efd041459f7d4b0c77aa8e248345e66.

"i965/fs: Track fixed GRF regs separate from allocated GRF file in scheduling." /
http://cgit.freedesktop.org/mesa/mesa/commit/?id=615117ce4efd041459f7d4b0c77aa8e248345e66

Reversing this commit fixes my problem. I am willing to test patches if required!

Cheers,
Comment 1 Peter Ross 2012-01-15 02:22:59 UTC
Example video here: http://twitlens.com/?t2I2

(Recording was made using a CRT.)
Comment 2 ernest_box 2012-08-26 18:27:26 UTC
Exactly same problem.

Ubuntu 11.10 - XBMCbuntu (GNU/Linux 3.0.0-24-generic i686)

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 965GM x86/MMX/SSE2
OpenGL version string: 2.1 Mesa 7.11
OpenGL shading language version string: 1.20
Comment 3 Eric Anholt 2012-10-03 18:26:23 UTC
Can xbmc be run in a window on the desktop?  It blew up my desktop environment here.
Comment 4 Kenneth Graunke 2012-10-03 22:56:58 UTC
Yes it can.  I know once it's running you can go into the settings and change it to windowed.  I'm sure there's some option or config file as well, but I don't know what it is offhand.
Comment 5 Eric Anholt 2013-02-06 21:24:42 UTC
After applying my send dependency workaround patch, I see some send dep errata being succesfully worked around, but it doesn't fix the actual rendering.

Trace is available at http://people.freedesktop.org/~anholt/xbmc.bin.trace since driving this app is super irritating.  Unfortunately apitrace trim mangles it currently, so it's still a pain to work on.
Comment 7 Eric Anholt 2013-03-11 19:49:08 UTC
commit 4dc7e6dcbf0d9c360e257c704774c9b083511b47
Author: Eric Anholt <eric@anholt.net>
Date:   Wed Mar 6 17:50:50 2013 -0800

    i965/fs: Also do the gen4 SEND dependency workaround against other SENDs.
    
    We were handling the the dependency workaround for the first written reg
    of a send preceding the one we're fixing up, but didn't consider the other
    regs.  Thus if you had two sampler calls that got allocated to the same
    set of regs, one might, rarely, ovewrite the other.  This was occurring in
    XBMC's GLSL shaders.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44567
    NOTE: This is a candidate for the stable branches.
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

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.