From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 55256] New: r600g R600_LLVM=1 bad rendering (light blue instead
of grey)
Date: Sun, 23 Sep 2012 20:59:45 +0000
Message-ID:
Priority
medium
Bug ID
55256
Assignee
dri-devel@lists.freedesktop.org
Summary
r600g R600_LLVM=1 bad rendering (light blue instead of grey)
Severity
normal
Classification
Unclassified
OS
Linux (All)
Reporter
edwin+mesa@etorok.net
Hardware
Other
Status
NEW
Version
git
Component
Drivers/DRI/R600
Product
Mesa
Created attachment 67592 [details]
apitrace
Attached is an apitrace, and screenshots.
Bad behaviour with --enable-r600-llvm-compiler:
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD RV730
OpenGL version string: 3.0 Mesa 9.1-devel (git-fb40f88)
OpenGL shading language version string: 1.30
If you look at the 'bad.png' screenshot you'll see that the 4th column is light
blue. It should be grey.
With R600_LLVM=0 the good behaviour is seen: good.png.
See the apitrace for the full shader, here is the relevant bit:
else if (gl_FragCoord.x < 640)
color = vec4(1.0f, 1.0f, 1.0f, 1.0f);//white
[...]
vec4 color0, color1, color2, color3;
if (gl_FragCoord.y < 200) {
color0 = color1 = color2 = color;//75%
[...]
} else if (xmod < 55 || xmod >= 105 ||
ymod < 75 || ymod >= 125) {
// real color
// TODO: buggy on r600g with LLVM?
gl_FragColor = (color0 + color1 + color2 + color3) / 4.0f;
P.S.: the shader is not optimal, most of the branches could be moved out of it,
I haven't tried to minimize the testcase though.