(prog_data->barycentric_interp_modes &
BRW_BARYCENTRIC_NONPERSPECTIVE_BITS) != 0;
- /* You can't be coarse and per-sample */
- assert(!key->coarse_pixel || !key->persample_interp);
+ /* The current VK_EXT_graphics_pipeline_library specification requires
+ * coarse to specified at compile time. But per sample interpolation can be
+ * dynamic. So we should never be in a situation where coarse &
+ * persample_interp are both respectively true & BRW_ALWAYS.
+ *
+ * Coarse will dynamically turned off when persample_interp is active.
+ */
+ assert(!key->coarse_pixel || key->persample_interp != BRW_ALWAYS);
+
prog_data->coarse_pixel_dispatch =
brw_sometimes_invert(prog_data->persample_dispatch);
if (!key->coarse_pixel ||
abld.MAD(coarse_z, coarse_z, z_cy, float_pixel_y);
}
- if (wm_prog_data->uses_src_depth) {
- assert(!wm_prog_data->uses_depth_w_coefficients);
+ if (wm_prog_data->uses_src_depth)
this->pixel_z = fetch_payload_reg(bld, fs_payload().source_depth_reg);
- }
if (wm_prog_data->uses_depth_w_coefficients ||
wm_prog_data->uses_src_depth) {