intel/fs: Set the default execution group to 0 when not representable by the platform.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27165>
This commit is contained in:
Francisco Jerez
2022-07-08 14:56:03 -07:00
committed by Marge Bot
parent 43c9620dbf
commit 3e710a84ad

View File

@@ -1732,7 +1732,17 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width,
const bool compressed =
inst->dst.component_size(inst->exec_size) > REG_SIZE;
brw_set_default_compression(p, compressed);
brw_set_default_group(p, inst->group);
if ((devinfo->ver >= 20 || devinfo->ver < 7) && inst->group % 8 != 0) {
assert(inst->force_writemask_all);
assert(!inst->predicate && !inst->conditional_mod);
assert(!inst->writes_accumulator_implicitly(devinfo) &&
!inst->reads_accumulator_implicitly());
assert(inst->opcode != SHADER_OPCODE_SEL_EXEC);
brw_set_default_group(p, 0);
} else {
brw_set_default_group(p, inst->group);
}
for (unsigned int i = 0; i < inst->sources; i++) {
src[i] = brw_reg_from_fs_reg(devinfo, inst,