intel/compiler: add restrictions related to coarse pixel shading

v2: Update to BITSET_TEST()

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7455>
This commit is contained in:
Lionel Landwerlin
2020-10-29 15:17:16 +02:00
committed by Marge Bot
parent 81f369c93b
commit 0421690f83
+12
View File
@@ -1517,6 +1517,9 @@ fs_visitor::emit_samplemaskin_setup()
fs_reg *reg = new(this->mem_ctx) fs_reg(vgrf(glsl_type::int_type));
/* The HW doesn't provide us with expected values. */
assert(!wm_prog_data->per_coarse_pixel_dispatch);
fs_reg coverage_mask =
fetch_payload_reg(bld, payload.sample_mask_in_reg, BRW_REGISTER_TYPE_D);
@@ -9262,6 +9265,15 @@ brw_compile_fs(const struct brw_compiler *compiler,
"using SIMD8 when dual src blending.\n");
}
if (key->coarse_pixel) {
if (prog_data->dual_src_blend) {
v8->limit_dispatch_width(8, "SIMD16 coarse pixel shading cannot"
" use SIMD8 messages.\n");
}
v8->limit_dispatch_width(16, "SIMD32 not supported with coarse"
" pixel shading.\n");
}
if (!has_spilled &&
v8->max_dispatch_width >= 16 &&
(!(INTEL_DEBUG & DEBUG_NO16) || params->use_rep_send)) {