[Bug 103955] Using array in structure results in wrong GLSL compilation output

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Nov 28 14:29:36 UTC 2017


--- Comment #3 from Ilia Mirkin <imirkin at alum.mit.edu> ---
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 at 0x22dfe20 u_s)
( function main
  (signature void
      (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 at 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.

You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20171128/408527d3/attachment.html>

More information about the intel-3d-bugs mailing list