summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-02-10 18:07:55 -0800
committerJason Ekstrand <[email protected]>2016-02-11 15:22:18 -0800
commit3086c5a5e10e6faef0de3e62ba508fef82239df3 (patch)
tree19e89635ea93d0c609692994539ccf1d579bc617 /src
parent4016619931f2ffbb83ca65d83c3a60c6ced886f1 (diff)
gen8/pipeline: Properly set bits in PS_EXTRA for W, depth, and samaple mask
Diffstat (limited to 'src')
-rw-r--r--src/vulkan/gen7_pipeline.c3
-rw-r--r--src/vulkan/gen8_pipeline.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/src/vulkan/gen7_pipeline.c b/src/vulkan/gen7_pipeline.c
index d4d6131794a..ec8db1d1956 100644
--- a/src/vulkan/gen7_pipeline.c
+++ b/src/vulkan/gen7_pipeline.c
@@ -387,6 +387,9 @@ genX(graphics_pipeline_create)(
.EarlyDepthStencilControl = EDSC_NORMAL,
.PointRasterizationRule = RASTRULE_UPPER_RIGHT,
.PixelShaderComputedDepthMode = wm_prog_data->computed_depth_mode,
+ .PixelShaderUsesSourceDepth = wm_prog_data->uses_src_depth,
+ .PixelShaderUsesSourceW = wm_prog_data->uses_src_w,
+ .PixelShaderUsesInputCoverageMask = wm_prog_data->uses_sample_mask,
.BarycentricInterpolationMode = wm_prog_data->barycentric_interp_modes);
}
diff --git a/src/vulkan/gen8_pipeline.c b/src/vulkan/gen8_pipeline.c
index e796ab3d51d..c41d6ffa82e 100644
--- a/src/vulkan/gen8_pipeline.c
+++ b/src/vulkan/gen8_pipeline.c
@@ -547,9 +547,15 @@ genX(graphics_pipeline_create)(
.AttributeEnable = wm_prog_data->num_varying_inputs > 0,
.oMaskPresenttoRenderTarget = wm_prog_data->uses_omask,
.PixelShaderIsPerSample = per_sample_ps,
+ .PixelShaderUsesSourceDepth = wm_prog_data->uses_src_depth,
+ .PixelShaderUsesSourceW = wm_prog_data->uses_src_w,
#if ANV_GEN >= 9
.PixelShaderPullsBary = wm_prog_data->pulls_bary,
- .InputCoverageMaskState = ICMS_NONE
+ .InputCoverageMaskState = wm_prog_data->uses_sample_mask ?
+ ICMS_INNER_CONSERVATIVE : ICMS_NONE,
+#else
+ .PixelShaderUsesInputCoverageMask =
+ wm_prog_data->uses_sample_mask,
#endif
);
}