[Mesa-dev] [Bug 63132] [r600/llvm] src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c:1887:lp_emit_declaration_soa: Assertion `idx < 256' failed.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Apr 10 08:54:18 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=63132

--- Comment #5 from José Fonseca <jfonseca at vmware.com> ---
(In reply to comment #4)
> Created attachment 77756 [details]
> ./apitrace trace konqueror

Thanks.

> I hope apitrace was invoked right ...

Yep, it reproduces the issue fine:

  $ glretrace konqueror.trace
  src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c:1887:lp_emit_declaration_soa:
Assertion `idx < 256' failed.
  apitrace: warning: caught signal 5
  1585: error: caught an unhandled exception
  apitrace: info: taking default action for signal 5
  Trace/breakpoint trap


One can see the expected output by doing (on a non-crashing driver like
NVIDIA):

  $ glretrace -S 1585/draw konqueror.trace
  Wrote 0000001585.png
  Rendered 0 frames in 0.269629 secs, average of 0 fps

Here are the source shaders:

  $ glretrace -D 1585 konqueror.trace
  [...]
    "GL_FRAGMENT_SHADER": "uniform vec3 iResolution;
uniform float iGlobalTime;
uniform float iChannelTime[4];
uniform vec4 iMouse;
uniform vec4 iDate;
uniform sampler2D iChannel0;
uniform sampler2D iChannel1;
uniform sampler2D iChannel2;
uniform sampler2D iChannel3;
mat3 m = mat3(0.0, 0.80000001, 0.60000002, -0.80000001, 0.36000001,
-0.47999999, -0.60000002, -0.47999999, 0.63999999);
float hash(in float n){
return fract((sin(n) * 43758.547));
}
float noise(in vec3 x){
vec3 p = floor(x);
vec3 f = fract(x);
(f = ((f * f) * (3.0 - (2.0 * f))));
float n = ((p[0] + (p[1] * 57.0)) + (113.0 * p[2]));
float res = mix(mix(mix(hash((n + 0.0)), hash((n + 1.0)), f[0]), mix(hash((n +
57.0)), hash((n + 58.0)), f[0]), f[1]), mix(mix(hash((n + 113.0)), hash((n +
114.0)), f[0]), mix(hash((n + 170.0)), hash((n + 171.0)), f[0]), f[1]), f[2]);
return res;
}
float fbm(in vec3 p){
float f;
(f = (0.5 * noise(p)));
(p = ((m * p) * 2.02));
(f += (0.25 * noise(p)));
(p = ((m * p) * 2.03));
(f += (0.125 * noise(p)));
(p = ((m * p) * 2.01));
(f += (0.0625 * noise(p)));
return f;
}
vec4 map(in vec3 p){
float d = (0.2 - p[1]);
(d += (3.0 * fbm(((p * 1.0) - (vec3(1.0, 0.1, 0.0) * iGlobalTime)))));
(d = clamp(d, 0.0, 1.0));
vec4 res = vec4(d);
(res.xyz = mix(vec3(1.15, 1.0925, 0.92000002), vec3(0.69999999, 0.69999999,
0.69999999), res[0]));
return res;
}
vec3 sundir = vec3(-1.0, 0.0, 0.0);
vec4 raymarch(in vec3 ro, in vec3 rd){
vec4 sum = vec4(0.0, 0.0, 0.0, 0.0);
float t = 0.0;
for (int i = 0; (i < 44); (i++))
{
vec3 pos = (ro + (t * rd));
vec4 col = map(pos);
float dif = clamp(((col[3] - map((pos + (0.30000001 * sundir)))[3]) /
0.60000002), 0.0, 1.0);
vec3 brdf = (vec3(0.8775, 0.91800004, 0.94499999) + (vec3(0.315, 0.22499999,
0.13500001) * dif));
(col.xyz *= brdf);
(col[3] *= 0.34999999);
(col.xyz *= col[3]);
(sum = (sum + (col * (1.0 - sum[3]))));
(t += max(0.1, (0.050000001 * t)));
}
(sum.xyz /= (0.001 + sum[3]));
return clamp(sum, 0.0, 1.0);
}
void main(){
vec2 q = (gl_FragCoord.xy / iResolution.xy);
vec2 p = (-1.0 + (2.0 * q));
(p[0] *= (iResolution[0] / iResolution[1]));
vec2 mo = (-1.0 + ((2.0 * iMouse.xy) / iResolution.xy));
vec3 ro = (4.0 * normalize(vec3(cos((2.75 - (3.0 * mo[0]))), (0.69999999 +
(mo[1] + 1.0)), sin((2.75 - (3.0 * mo[0]))))));
vec3 ta = vec3(0.0, 1.0, 0.0);
vec3 ww = normalize((ta - ro));
vec3 uu = normalize(cross(vec3(0.0, 1.0, 0.0), ww));
vec3 vv = normalize(cross(ww, uu));
vec3 rd = normalize((((p[0] * uu) + (p[1] * vv)) + (1.5 * ww)));
vec4 res = raymarch(ro, rd);
float sun = clamp(dot(sundir, rd), 0.0, 1.0);
vec3 col = ((vec3(0.60000002, 0.70999998, 0.75) - ((rd[1] * 0.2) * vec3(1.0,
0.5, 1.0))) + 0.075000003);
(col += (vec3(0.2, 0.12, 0.020000001) * pow(sun, 8.0)));
(col *= 0.94999999);
(col = mix(col, res.xyz, res[3]));
(col += (vec3(0.1, 0.040000003, 0.020000001) * pow(sun, 3.0)));
(gl_FragColor = vec4(col, 1.0));
}
",
    "GL_VERTEX_SHADER": "attribute vec2 pos;
void main(){
(gl_Position = vec4(pos[0], pos[1], 0.0, 1.0));
}
"
   [...]

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130410/0b1902a4/attachment.html>


More information about the mesa-dev mailing list