<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Using array in structure results in wrong GLSL compilation output"
href="https://bugs.freedesktop.org/show_bug.cgi?id=103955#c3">Comment # 3</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Using array in structure results in wrong GLSL compilation output"
href="https://bugs.freedesktop.org/show_bug.cgi?id=103955">bug 103955</a>
from <span class="vcard"><a class="email" href="mailto:imirkin@alum.mit.edu" title="Ilia Mirkin <imirkin@alum.mit.edu>"> <span class="fn">Ilia Mirkin</span></a>
</span></b>
<pre>The GLSL IR seems questionable too...
: GLSL IR for linked fragment program 3:
(
(declare (location=2 shader_out ) vec4 gl_FragColor)
(declare (temporary ) vec4 gl_FragColor)
(declare (location=0 uniform ) Set@0x22dfe20 u_s)
( function main
(signature void
(parameters
)
(
(declare (temporary ) vec4 vec_ctor)
(assign (w) (var_ref vec_ctor) (constant float (1.000000)) )
(assign (xyz) (var_ref vec_ctor) (expression vec3 * (record_ref
(var_ref u_s) color) (array_ref (record_ref (var_ref u_s) arr) (constant int
(0)) ) ) )
(assign (xyzw) (var_ref gl_FragColor) (var_ref vec_ctor) )
(assign (xyzw) (var_ref gl_FragColor@3) (var_ref gl_FragColor) )
))
)
)
It multiplies directly by the array_ref -- there should be a swizzle or other
vec3 conversion on there, no? Or perhaps you're allowed to have vecN * float
directly in the IR. Not sure.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>