intel/compiler: force simd8 when dual src blending on gen8
Patch introduces option to force simd8 and uses it as a workaround for dual source blending issues seen with skqp (skia testsuite) on gen8. Fixes following Piglit test on gen8 platforms: arb_blend_func_extended-dual-src-blending-issue-1917 Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1917 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> c: <mesa-stable@lists.freedesktop.org> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
@@ -8274,6 +8274,16 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
|
||||
prog_data->reg_blocks_8 = brw_register_blocks(v8.grf_used);
|
||||
}
|
||||
|
||||
/* Limit dispatch width to simd8 with dual source blending on gen8.
|
||||
* See: https://gitlab.freedesktop.org/mesa/mesa/issues/1917
|
||||
*/
|
||||
if (devinfo->gen == 8 && prog_data->dual_src_blend &&
|
||||
!(INTEL_DEBUG & DEBUG_NO8)) {
|
||||
assert(!use_rep_send);
|
||||
v8.limit_dispatch_width(8, "gen8 workaround: "
|
||||
"using SIMD8 when dual src blending.\n");
|
||||
}
|
||||
|
||||
if (v8.max_dispatch_width >= 16 &&
|
||||
likely(!(INTEL_DEBUG & DEBUG_NO16) || use_rep_send)) {
|
||||
/* Try a SIMD16 compile */
|
||||
|
Reference in New Issue
Block a user