[require] GLSL >= 1.20 [vertex shader] void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; } [fragment shader] void main() { const vec2 v = normalize(vec2(1.0, 1.0)); /* Attempt to normalize the zero vector. The specification is unclear * about the results, but ATI returns the zero vector. At any rate, the * compiler should not crash. */ const vec2 z = normalize(vec2(0.0, 0.0)); gl_FragColor = vec4(v.x, z.x, z.y, 1.0); } [test] draw rect -1 -1 2 2 probe all rgb 0.7071067811865475 0.0 0.0