struct intel_sample_positions;
-typedef struct VkRenderingSelfDependencyInfoMESA VkRenderingSelfDependencyInfoMESA;
-
extern const uint32_t genX(vk_to_intel_cullmode)[];
extern const uint32_t genX(vk_to_intel_front_face)[];
}
}
+static bool
+rp_has_ds_self_dep(const struct vk_render_pass_state *rp)
+{
+ return rp->pipeline_flags &
+ VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT;
+}
+
static void
emit_3dstate_wm(struct anv_graphics_pipeline *pipeline,
const struct vk_input_assembly_state *ia,
* around to fetching from the input attachment and we may get the depth
* or stencil value from the current draw rather than the previous one.
*/
- ps.PixelShaderKillsPixel = rp->depth_self_dependency ||
- rp->stencil_self_dependency ||
+ ps.PixelShaderKillsPixel = rp_has_ds_self_dep(rp) ||
wm_prog_data->uses_kill;
ps.PixelShaderComputesStencil = wm_prog_data->computed_stencil;
* of an alpha test.
*/
pipeline->kill_pixel =
- rp->depth_self_dependency ||
- rp->stencil_self_dependency ||
+ rp_has_ds_self_dep(rp) ||
wm_prog_data->uses_kill ||
wm_prog_data->uses_omask ||
(ms && ms->alpha_to_coverage_enable);