aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/etnaviv/etnaviv_screen.c4
-rw-r--r--src/gallium/drivers/freedreno/a2xx/ir2_nir.c4
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp4
-rw-r--r--src/gallium/drivers/nouveau/nv50/nv50_screen.c4
-rw-r--r--src/gallium/drivers/r600/r600_pipe_common.c8
-rw-r--r--src/gallium/drivers/radeonsi/si_get.c4
6 files changed, 21 insertions, 7 deletions
diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c
index 1637eaa3f5f..3cc7dcec148 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_screen.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c
@@ -1004,7 +1004,9 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu,
.lower_fpow = true,
.lower_sub = true,
.lower_ftrunc = true,
- .fuse_ffma = true,
+ .fuse_ffma16 = true,
+ .fuse_ffma32 = true,
+ .fuse_ffma64 = true,
.lower_bitops = true,
.lower_all_io_to_temps = true,
.vertex_id_zero_based = true,
diff --git a/src/gallium/drivers/freedreno/a2xx/ir2_nir.c b/src/gallium/drivers/freedreno/a2xx/ir2_nir.c
index 58e99f0943b..6cf95d5f4e3 100644
--- a/src/gallium/drivers/freedreno/a2xx/ir2_nir.c
+++ b/src/gallium/drivers/freedreno/a2xx/ir2_nir.c
@@ -35,7 +35,9 @@ static const nir_shader_compiler_options options = {
.lower_fmod = true,
.lower_fdiv = true,
.lower_fceil = true,
- .fuse_ffma = true,
+ .fuse_ffma16 = true,
+ .fuse_ffma32 = true,
+ .fuse_ffma64 = true,
/* .fdot_replicates = true, it is replicated, but it makes things worse */
.lower_all_io_to_temps = true,
.vertex_id_zero_based = true, /* its not implemented anyway */
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
index c466d249e58..c5e54779ad7 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_nir.cpp
@@ -3207,7 +3207,9 @@ nvir_nir_shader_compiler_options(int chipset)
nir_shader_compiler_options op = {};
op.lower_fdiv = (chipset >= NVISA_GV100_CHIPSET);
op.lower_ffma = false;
- op.fuse_ffma = false; /* nir doesn't track mad vs fma */
+ op.fuse_ffma16 = false; /* nir doesn't track mad vs fma */
+ op.fuse_ffma32 = false; /* nir doesn't track mad vs fma */
+ op.fuse_ffma64 = false; /* nir doesn't track mad vs fma */
op.lower_flrp16 = (chipset >= NVISA_GV100_CHIPSET);
op.lower_flrp32 = true;
op.lower_flrp64 = true;
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
index 06f73ab6be2..29201eee649 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
@@ -923,7 +923,9 @@ int nv50_tls_realloc(struct nv50_screen *screen, unsigned tls_space)
}
static const nir_shader_compiler_options nir_options = {
- .fuse_ffma = false, /* nir doesn't track mad vs fma */
+ .fuse_ffma16 = false, /* nir doesn't track mad vs fma */
+ .fuse_ffma32 = false, /* nir doesn't track mad vs fma */
+ .fuse_ffma64 = false, /* nir doesn't track mad vs fma */
.lower_flrp32 = true,
.lower_flrp64 = true,
.lower_fpow = false,
diff --git a/src/gallium/drivers/r600/r600_pipe_common.c b/src/gallium/drivers/r600/r600_pipe_common.c
index b4dffa76a11..eab7ce91dd7 100644
--- a/src/gallium/drivers/r600/r600_pipe_common.c
+++ b/src/gallium/drivers/r600/r600_pipe_common.c
@@ -1179,7 +1179,9 @@ struct pipe_resource *r600_resource_create_common(struct pipe_screen *screen,
}
const struct nir_shader_compiler_options r600_nir_fs_options = {
- .fuse_ffma = true,
+ .fuse_ffma16 = true,
+ .fuse_ffma32 = true,
+ .fuse_ffma64 = true,
.lower_scmp = true,
.lower_flrp32 = true,
.lower_flrp64 = true,
@@ -1203,7 +1205,9 @@ const struct nir_shader_compiler_options r600_nir_fs_options = {
};
const struct nir_shader_compiler_options r600_nir_options = {
- .fuse_ffma = true,
+ .fuse_ffma16 = true,
+ .fuse_ffma32 = true,
+ .fuse_ffma64 = true,
.lower_scmp = true,
.lower_flrp32 = true,
.lower_flrp64 = true,
diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c
index a511bab4f0d..1f19fdd8817 100644
--- a/src/gallium/drivers/radeonsi/si_get.c
+++ b/src/gallium/drivers/radeonsi/si_get.c
@@ -946,7 +946,9 @@ void si_init_screen_get_functions(struct si_screen *sscreen)
* for gfx10.3 on gfx10.
*/
.lower_ffma = sscreen->info.chip_class <= GFX9,
- .fuse_ffma = sscreen->info.chip_class >= GFX10,
+ .fuse_ffma16 = sscreen->info.chip_class >= GFX10,
+ .fuse_ffma32 = sscreen->info.chip_class >= GFX10,
+ .fuse_ffma64 = sscreen->info.chip_class >= GFX10,
.lower_fmod = true,
.lower_pack_snorm_4x8 = true,
.lower_pack_unorm_4x8 = true,