aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/gen8_pipeline.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel/vulkan/gen8_pipeline.c')
-rw-r--r--src/intel/vulkan/gen8_pipeline.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/intel/vulkan/gen8_pipeline.c b/src/intel/vulkan/gen8_pipeline.c
index 77c81f42106..1300c0d1dff 100644
--- a/src/intel/vulkan/gen8_pipeline.c
+++ b/src/intel/vulkan/gen8_pipeline.c
@@ -329,10 +329,17 @@ genX(graphics_pipeline_create)(
wm.StatisticsEnable = true;
wm.LineEndCapAntialiasingRegionWidth = _05pixels;
wm.LineAntialiasingRegionWidth = _10pixels;
- wm.EarlyDepthStencilControl = NORMAL;
wm.ForceThreadDispatchEnable = NORMAL;
wm.PointRasterizationRule = RASTRULE_UPPER_RIGHT;
+ if (wm_prog_data && wm_prog_data->early_fragment_tests) {
+ wm.EarlyDepthStencilControl = PREPS;
+ } else if (wm_prog_data && wm_prog_data->has_side_effects) {
+ wm.EarlyDepthStencilControl = PSEXEC;
+ } else {
+ wm.EarlyDepthStencilControl = NORMAL;
+ }
+
wm.BarycentricInterpolationMode = pipeline->ps_ksp0 == NO_KERNEL ?
0 : wm_prog_data->barycentric_interp_modes;
}