mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 11:18:08 +02:00
anv/pipeline: Use feedback loop flags for self-dependencies
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22191>
This commit is contained in:
parent
f3876db1ee
commit
8df8a3c19b
2 changed files with 9 additions and 6 deletions
|
|
@ -38,8 +38,6 @@
|
||||||
|
|
||||||
struct intel_sample_positions;
|
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_cullmode)[];
|
||||||
|
|
||||||
extern const uint32_t genX(vk_to_intel_front_face)[];
|
extern const uint32_t genX(vk_to_intel_front_face)[];
|
||||||
|
|
|
||||||
|
|
@ -1428,6 +1428,13 @@ emit_3dstate_gs(struct anv_graphics_pipeline *pipeline)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
static void
|
||||||
emit_3dstate_wm(struct anv_graphics_pipeline *pipeline,
|
emit_3dstate_wm(struct anv_graphics_pipeline *pipeline,
|
||||||
const struct vk_input_assembly_state *ia,
|
const struct vk_input_assembly_state *ia,
|
||||||
|
|
@ -1570,8 +1577,7 @@ emit_3dstate_ps_extra(struct anv_graphics_pipeline *pipeline,
|
||||||
* around to fetching from the input attachment and we may get the depth
|
* 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.
|
* or stencil value from the current draw rather than the previous one.
|
||||||
*/
|
*/
|
||||||
ps.PixelShaderKillsPixel = rp->depth_self_dependency ||
|
ps.PixelShaderKillsPixel = rp_has_ds_self_dep(rp) ||
|
||||||
rp->stencil_self_dependency ||
|
|
||||||
wm_prog_data->uses_kill;
|
wm_prog_data->uses_kill;
|
||||||
|
|
||||||
ps.PixelShaderComputesStencil = wm_prog_data->computed_stencil;
|
ps.PixelShaderComputesStencil = wm_prog_data->computed_stencil;
|
||||||
|
|
@ -1639,8 +1645,7 @@ compute_kill_pixel(struct anv_graphics_pipeline *pipeline,
|
||||||
* of an alpha test.
|
* of an alpha test.
|
||||||
*/
|
*/
|
||||||
pipeline->kill_pixel =
|
pipeline->kill_pixel =
|
||||||
rp->depth_self_dependency ||
|
rp_has_ds_self_dep(rp) ||
|
||||||
rp->stencil_self_dependency ||
|
|
||||||
wm_prog_data->uses_kill ||
|
wm_prog_data->uses_kill ||
|
||||||
wm_prog_data->uses_omask ||
|
wm_prog_data->uses_omask ||
|
||||||
(ms && ms->alpha_to_coverage_enable);
|
(ms && ms->alpha_to_coverage_enable);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue