intel/fs: Fix nir_intrinsic_load_barycentric_at_sample for SIMD32.
authorFrancisco Jerez <currojerez@riseup.net>
Sat, 28 Dec 2019 01:06:30 +0000 (17:06 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 10 Jan 2020 19:01:52 +0000 (11:01 -0800)
commitcc0ea482adb3e035857dd126a5f1dd4298a8f632
tree61234b85c58e0f5475de3c09d444461ed56d5927
parent0703eab0120f20451e75ba8d4ce065350ad36fef
intel/fs: Fix nir_intrinsic_load_barycentric_at_sample for SIMD32.

For uniform sample ID, only the first channel of msg_data will be
initialized.  We need to pass that component only to the SEND message
for SIMD lowering to unzip the descriptor source correctly.

Fixes several dozens of conformance test failures with SIMD32 fragment
shaders enabled, including:

dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number.*

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_fs_nir.cpp