From: Connor Abbott Date: Tue, 9 Jul 2019 11:43:13 +0000 (+0200) Subject: radv: Don't optimize after lowering FS inputs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f18b8a1174a3ac7ca1c75bfe8ac0a5e595d094f6;p=mesa.git radv: Don't optimize after lowering FS inputs Currently this is done rather late in radv, after lowering booleans, so it isn't safe to run additional optimizations that may add e.g. 1-bit booleans. We could move the lowering parts earlier, but since right now we only lower FS inputs and by this point all indirects have been lowered away, there's no reason we should need to optimize anything. One shader from Devil May Cry 5 was getting optimized, but only because the optimization loop was working on 32-bit booleans which revealed an opportunity that was hidden with 1-bit booleans, and we generated a 1-bit boolean which is invalid. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111092 Fixes: 118a66df9907772bb9e5503b736c95d7bb62d52c Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 8aa5880a38b..79418b401fb 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -548,7 +548,6 @@ lower_fs_io(nir_shader *nir, struct radv_shader_variant_info *shader_info) nir_opt_constant_folding(nir); NIR_PASS_V(nir, nir_io_add_const_offset_to_base, nir_var_shader_in); - radv_optimize_nir(nir, false, false); }