anv/gen9: expose VK_EXT_post_depth_coverage

Note that the use of ICMS_INNER_CONSERVATIVE disagrees with the GL driver.
Perhaps it's more performant than ICMS_NORMAL and is otherwise permitted?
Not sure, so I left it as-is.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Ilia Mirkin
2018-07-20 15:50:02 -06:00
committed by Jason Ekstrand
parent 768f143667
commit 257128079c
3 changed files with 10 additions and 2 deletions

View File

@@ -1617,8 +1617,14 @@ emit_3dstate_ps_extra(struct anv_pipeline *pipeline,
#if GEN_GEN >= 9
ps.PixelShaderComputesStencil = wm_prog_data->computed_stencil;
ps.PixelShaderPullsBary = wm_prog_data->pulls_bary;
ps.InputCoverageMaskState = wm_prog_data->uses_sample_mask ?
ICMS_INNER_CONSERVATIVE : ICMS_NONE;
ps.InputCoverageMaskState = ICMS_NONE;
if (wm_prog_data->uses_sample_mask) {
if (wm_prog_data->post_depth_coverage)
ps.InputCoverageMaskState = ICMS_DEPTH_COVERAGE;
else
ps.InputCoverageMaskState = ICMS_INNER_CONSERVATIVE;
}
#else
ps.PixelShaderUsesInputCoverageMask = wm_prog_data->uses_sample_mask;
#endif