[Mesa-dev] [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


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

--- 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
    (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 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 assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20171128/ac883a81/attachment.html>


More information about the mesa-dev mailing list