radv: correctly skip MRT output NaN fixup for meta shaders

radv_nir_compiler_options::enable_mrt_output_nan_fixup is only used for
epilogs, these days.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Fixes: 290c3d360e ("aco,radv: lower outputs to exports when nir for monolithic ps")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9414
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24352>
(cherry picked from commit 76232d6724)
This commit is contained in:
Rhys Perry 2023-07-27 18:07:46 +01:00 committed by Dylan Baker
parent 4ec17ca7df
commit 12164d05fc
3 changed files with 4 additions and 5 deletions

View file

@ -22104,7 +22104,7 @@
"description": "radv: correctly skip MRT output NaN fixup for meta shaders",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "290c3d360e5a6f5226c062d6a9267629adb1060e",
"notes": null

View file

@ -666,7 +666,8 @@ radv_postprocess_nir(struct radv_device *device, const struct radv_pipeline_layo
.color_is_int10 = pipeline_key->ps.epilog.color_is_int10,
.alpha_func = COMPARE_FUNC_ALWAYS,
.enable_mrt_output_nan_fixup = pipeline_key->ps.epilog.enable_mrt_output_nan_fixup,
.enable_mrt_output_nan_fixup =
pipeline_key->ps.epilog.enable_mrt_output_nan_fixup && !stage->nir->info.internal,
.no_color_export = stage->info.ps.has_epilog,
.bc_optimize_for_persp = G_0286CC_PERSP_CENTER_ENA(stage->info.ps.spi_ps_input) &&

View file

@ -2283,9 +2283,7 @@ radv_fill_nir_compiler_options(struct radv_nir_compiler_options *options, struct
options->record_ir = keep_shader_info;
options->record_stats = keep_statistic_info;
options->check_ir = device->instance->debug_flags & RADV_DEBUG_CHECKIR;
if (!is_meta_shader)
options->enable_mrt_output_nan_fixup = options->key.ps.epilog.enable_mrt_output_nan_fixup;
options->enable_mrt_output_nan_fixup = options->key.ps.epilog.enable_mrt_output_nan_fixup;
}
static void