iris/gfx11+: Request PS payload fields for ALU-based interpolation via 3DSTATE_PS_EXTRA.

Plumb the prog_data bits recently introduced for ALU-based
interpolation down to 3DSTATE_PS_EXTRA emission in the GL driver, as
well as the uses_depth_w_coefficients bit that was already in use by
the Vulkan driver for CPS shaders.  Even though this is only going to
be used on Xe2+ for now there seems to be no reason not to plumb the
bits on all platforms back to gfx11, since the 3DSTATE_PS_EXTRA
enables already existed on ICL.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29847>
This commit is contained in:
Francisco Jerez
2022-08-08 13:56:41 -07:00
committed by Marge Bot
parent 3d30cc82f9
commit 76f095c354
3 changed files with 21 additions and 0 deletions
+5
View File
@@ -115,6 +115,11 @@ iris_apply_brw_wm_prog_data(struct iris_compiled_shader *shader,
iris->has_side_effects = brw->has_side_effects;
iris->pulls_bary = brw->pulls_bary;
iris->uses_sample_offsets = brw->uses_sample_offsets;
iris->uses_npc_bary_coefficients = brw->uses_npc_bary_coefficients;
iris->uses_pc_bary_coefficients = brw->uses_pc_bary_coefficients;
iris->uses_depth_w_coefficients = brw->uses_depth_w_coefficients;
iris->uses_nonperspective_interp_modes = brw->uses_nonperspective_interp_modes;
iris->is_per_sample = brw_wm_prog_data_is_persample(brw, 0);