zink: emit SpvCapabilitySampleMaskPostDepthCoverage with SpvExecutionModePostDepthCoverage

can't have one without the other

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24183>
This commit is contained in:
Mike Blumenkrantz 2023-07-17 09:16:43 -04:00 committed by Marge Bot
parent d744bb5bfc
commit 88bf4b61af

View file

@ -4668,9 +4668,6 @@ nir_to_spirv(struct nir_shader *s, const struct zink_shader_info *sinfo, uint32_
switch (s->info.stage) {
case MESA_SHADER_FRAGMENT:
if (s->info.fs.post_depth_coverage &&
BITSET_TEST(s->info.system_values_read, SYSTEM_VALUE_SAMPLE_MASK_IN))
spirv_builder_emit_cap(&ctx.builder, SpvCapabilitySampleMaskPostDepthCoverage);
if (s->info.fs.uses_sample_shading)
spirv_builder_emit_cap(&ctx.builder, SpvCapabilitySampleRateShading);
if (s->info.fs.uses_demote && spirv_version < SPIRV_VERSION(1, 6))
@ -4887,6 +4884,7 @@ nir_to_spirv(struct nir_shader *s, const struct zink_shader_info *sinfo, uint32_
SpvExecutionModeEarlyFragmentTests);
if (s->info.fs.post_depth_coverage) {
spirv_builder_emit_extension(&ctx.builder, "SPV_KHR_post_depth_coverage");
spirv_builder_emit_cap(&ctx.builder, SpvCapabilitySampleMaskPostDepthCoverage);
spirv_builder_emit_exec_mode(&ctx.builder, entry_point,
SpvExecutionModePostDepthCoverage);
}