nir/lower_idiv: Remove imprecise_32bit_lowering
NIR has two implementations of lower_idiv, keyed on the imprecise_32bit_lowering flag. This flag is misleading: the results when setting this flag "imprecise", they're completely wrong for some values. If a backend has a native implementation of umul_high, the correct path isn't that much more expensive. If it doesn't, it's substantially slower for highp integer divison... but in practice, non-constant highp integer division is pretty rare. After a painful migration of the tree, this code path has no more users. Remove it so nobody else gets the bright idea of using it again. Closes: #6555 Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19303>
This commit is contained in:

committed by
Marge Bot

parent
37bbcc2e4a
commit
941c37c085
@@ -1254,7 +1254,6 @@ brw_postprocess_nir(nir_shader *nir, const struct brw_compiler *compiler,
|
||||
/* Lower integer division by constants before nir_lower_idiv. */
|
||||
OPT(nir_opt_idiv_const, 32);
|
||||
const nir_lower_idiv_options options = {
|
||||
.imprecise_32bit_lowering = false,
|
||||
.allow_fp16 = false
|
||||
};
|
||||
OPT(nir_lower_idiv, &options);
|
||||
|
Reference in New Issue
Block a user