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." /
Reversing this commit fixes my problem. I am willing to test patches if required!
Example video here: http://twitlens.com/?t2I2
(Recording was made using a CRT.)
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
Can xbmc be run in a window on the desktop? It blew up my desktop environment here.
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.
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.
Author: Eric Anholt <email@example.com>
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.
NOTE: This is a candidate for the stable branches.
Reviewed-by: Kenneth Graunke <firstname.lastname@example.org>
on Jan 17, 2017 at 21:14:32.
(provided by the Example extension).