Skip to content

ac/llvm: fix 16bit varying llvm compile error

Qiang Yu requested to merge yuq825/mesa:topic/fix-16bit-varying into main

Found when 16bit vec3 varying, one 32bit vec4 slot is filled like this:

  vec3[0] | undef
  vec3[1] | undef
  vec3[2] | undef
  undef   | undef

LLVM error is for the elements with undef:

  %287 = insertelement float undef, half %279, i64 0
  %288 = bitcast <2 x half> %287 to float

After this change, we get:

  %496 = insertelement <2 x half> undef, half %490, i64 0
  %497 = bitcast <2 x half> %496 to float

Fixes: 279eea5b ("amd/llvm: Transition to LLVM "opaque pointers"")

Edited by Qiang Yu

Merge request reports