diff --git a/src/intel/compiler/brw_eu.h b/src/intel/compiler/brw_eu.h index 11f2734e175..99de21d8742 100644 --- a/src/intel/compiler/brw_eu.h +++ b/src/intel/compiler/brw_eu.h @@ -396,6 +396,18 @@ brw_sampler_desc(const struct intel_device_info *devinfo, { const unsigned desc = (SET_BITS(binding_table_index, 7, 0) | SET_BITS(sampler, 11, 8)); + + /* From the CHV Bspec: Shared Functions - Message Descriptor - + * Sampling Engine: + * + * SIMD Mode[2] 29 This field is the upper bit of the 3-bit + * SIMD Mode field. + */ + if (devinfo->ver >= 8) + return desc | SET_BITS(msg_type, 16, 12) | + SET_BITS(simd_mode & 0x3, 18, 17) | + SET_BITS(simd_mode >> 2, 29, 29) | + SET_BITS(return_format, 30, 30); if (devinfo->ver >= 7) return (desc | SET_BITS(msg_type, 16, 12) | SET_BITS(simd_mode, 18, 17));