radeonsi: Enable NIR's lower_fmod option.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 3 Jun 2019 20:40:05 +0000 (13:40 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 5 Jun 2019 23:45:12 +0000 (16:45 -0700)
Currently, st/mesa is always calling the GLSL IR lower_instructions()
pass with MOD_TO_FLOOR set, so mod operations will be lowered before
ever reaching NIR.  This enables the same lowering at the NIR level,
which will let me shut off the GLSL IR path for NIR-based drivers.

The AMD NIR backend also has code to handle fmod, so we could
potentially skip this and still be fine.  I don't have an opinion
on that.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_get.c

index 8217c10d9c973a570636db718d8722aa41c0e72b..40a54b34c4f25a9e065b214fcd48084ae74df835 100644 (file)
@@ -486,6 +486,7 @@ static const struct nir_shader_compiler_options nir_options = {
        .lower_fdiv = true,
        .lower_sub = true,
        .lower_ffma = true,
+       .lower_fmod = true,
        .lower_pack_snorm_2x16 = true,
        .lower_pack_snorm_4x8 = true,
        .lower_pack_unorm_2x16 = true,