From f18b8a1174a3ac7ca1c75bfe8ac0a5e595d094f6 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Tue, 9 Jul 2019 13:43:13 +0200 Subject: [PATCH] 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 --- src/amd/vulkan/radv_shader.c | 1 - 1 file changed, 1 deletion(-) 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); } -- 2.30.2