oizma / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

ShCompileShader crash @TIntermConstantUnion::getUnionArrayPointer #24

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago

A shader used by http://www.nihilogic.dk/labs/webgl_musical_solar_system/ 
crashes in ShCompileShader, due to a null deref.  The shader source seems to be:

#version 120
attribute vec3 aVertex;
uniform mat4 uModelViewMatrix;
uniform mat4 uProjMatrix;
uniform float uTime;
uniform float uMusicNoise;
uniform float uEqData[16];
uniform float uEqNormData[16];
varying vec3 vPosition;
void Transform() {
    vec3 nv = vec3(aVertex.xy * 1.5 + uTime * 0.0005, 0) + uTime * 0.0005;
    float y = clamp((aVertex.y * 0.5) + 0.5, 0.0, 1.0);
//  int l = int(round(15.0 * y));
        int l = int(floor(15.0 * y));
    float n = uEqNormData[l] * sqrt(uEqData[15-l]);
    vec3 pos = aVertex;
    pos.xz *= 1.0 + n * 0.15 * uMusicNoise;
    vPosition = pos;
    gl_Position = uProjMatrix * uModelViewMatrix * vec4(pos, 1.0);
}

Original issue reported on code.google.com by vladim...@gmail.com on 14 Aug 2010 at 7:46

GoogleCodeExporter commented 9 years ago
A simplified test case:

uniform float uEqData[16];
void Transform() {
  int l = 1;
  float n = uEqData[15-l];
}

Original comment by alokp@chromium.org on 16 Aug 2010 at 5:19

GoogleCodeExporter commented 9 years ago

Original comment by alokp@chromium.org on 16 Aug 2010 at 5:19

GoogleCodeExporter commented 9 years ago
This crash is in common code affecting both GLSL and HLSL translator.

Original comment by alokp@chromium.org on 16 Aug 2010 at 5:20

GoogleCodeExporter commented 9 years ago
Fixed in r385.

Original comment by alokp@chromium.org on 23 Aug 2010 at 9:03