From a2b3911a4728fa6537b6527d062f17d2890c9853 Mon Sep 17 00:00:00 2001 From: Paulo Zanoni Date: Fri, 1 Nov 2019 14:28:48 -0700 Subject: [PATCH] intel/compiler: remove the operand restriction for src1 on GLK Commit 5847de6e9afe implemented a restriction that applies to ICL, but wrongly marked it as also applying to GLK. Reviewers or MR !1125 pointed this, and the commit history shows removal of GLK to parts of the patch, but it turns there was still a left-over GLK check in the code. This code was breaking some of the i8vec2 tests on GLK, for example: dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2 Removing the GLK check solves the issue for GLK. I don't see a reason on why implementing this restriction would actually break GLK, so there's still more to investigate here since this bug may be affecting ICL+, but let's apply the real GLK fix while we analyze and discuss the other possible issues. Fixes: 5847de6e9afe ("intel/compiler: don't use byte operands for src1 on ICL") BSpec: 3017 Reviewed-by: Lionel Landwerlin Reviewed-by: Matt Turner Signed-off-by: Paulo Zanoni (cherry picked from commit b57383a9445eae153fbf91fad8592d273b14e546) --- src/intel/compiler/brw_fs_builder.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/intel/compiler/brw_fs_builder.h b/src/intel/compiler/brw_fs_builder.h index 0c1b6f5d6c7..384d0ba8411 100644 --- a/src/intel/compiler/brw_fs_builder.h +++ b/src/intel/compiler/brw_fs_builder.h @@ -731,8 +731,7 @@ namespace brw { src_reg fix_byte_src(const src_reg &src) const { - if ((shader->devinfo->gen < 11 && !shader->devinfo->is_geminilake) || - type_sz(src.type) != 1) + if (shader->devinfo->gen < 11 || type_sz(src.type) != 1) return src; dst_reg temp = vgrf(src.type == BRW_REGISTER_TYPE_UB ?