Mesa (master): nir: add nir_shader_compiler_options::lower_to_scalar
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Oct 10 19:59:34 UTC 2019
Module: Mesa
Branch: master
Commit: cebc38ff602c662851b601bc7a48a7fad2700aff
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cebc38ff602c662851b601bc7a48a7fad2700aff
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Oct 7 22:46:00 2019 -0400
nir: add nir_shader_compiler_options::lower_to_scalar
This will replace PIPE_SHADER_CAP_SCALAR_ISA.
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/broadcom/compiler/nir_to_vir.c | 1 +
src/compiler/nir/nir.h | 1 +
src/freedreno/ir3/ir3_nir.c | 2 ++
src/gallium/drivers/nouveau/nv50/nv50_screen.c | 1 +
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 +
src/gallium/drivers/radeonsi/si_get.c | 1 +
src/gallium/drivers/vc4/vc4_program.c | 1 +
src/intel/compiler/brw_compiler.c | 1 +
8 files changed, 9 insertions(+)
diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c
index b640dcc341b..a982778f8b1 100644
--- a/src/broadcom/compiler/nir_to_vir.c
+++ b/src/broadcom/compiler/nir_to_vir.c
@@ -2668,6 +2668,7 @@ const nir_shader_compiler_options v3d_nir_options = {
.lower_mul_high = true,
.lower_wpos_pntc = true,
.lower_rotate = true,
+ .lower_to_scalar = true,
};
/**
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index 90b91390a64..960184b7f3c 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -2736,6 +2736,7 @@ typedef struct nir_shader_compiler_options {
* for IO purposes and would prefer loads/stores be vectorized.
*/
bool vectorize_io;
+ bool lower_to_scalar;
/**
* Should nir_lower_io() create load_interpolated_input intrinsics?
diff --git a/src/freedreno/ir3/ir3_nir.c b/src/freedreno/ir3/ir3_nir.c
index 9342c9d299b..b729692bdff 100644
--- a/src/freedreno/ir3/ir3_nir.c
+++ b/src/freedreno/ir3/ir3_nir.c
@@ -56,6 +56,7 @@ static const nir_shader_compiler_options options = {
.lower_bitfield_extract_to_shifts = true,
.use_interpolated_input_intrinsics = true,
.lower_rotate = true,
+ .lower_to_scalar = true,
};
/* we don't want to lower vertex_id to _zero_based on newer gpus: */
@@ -82,6 +83,7 @@ static const nir_shader_compiler_options options_a6xx = {
.use_interpolated_input_intrinsics = true,
.lower_rotate = true,
.vectorize_io = true,
+ .lower_to_scalar = true,
};
const nir_shader_compiler_options *
diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
index f0846867621..fe1f628a5ab 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c
@@ -919,6 +919,7 @@ static const nir_shader_compiler_options nir_options = {
.lower_all_io_to_temps = false,
.lower_cs_local_index_from_id = true,
.lower_rotate = true,
+ .lower_to_scalar = true,
.use_interpolated_input_intrinsics = true,
.max_unroll_iterations = 32,
};
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index 06f1fb2b708..8c04cda17aa 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -976,6 +976,7 @@ static const nir_shader_compiler_options nir_options = {
.max_unroll_iterations = 32,
.lower_int64_options = nir_lower_divmod64, // TODO
.lower_doubles_options = nir_lower_dmod, // TODO
+ .lower_to_scalar = true,
};
static const void *
diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c
index 111279674e6..e37319750f4 100644
--- a/src/gallium/drivers/radeonsi/si_get.c
+++ b/src/gallium/drivers/radeonsi/si_get.c
@@ -524,6 +524,7 @@ static const struct nir_shader_compiler_options nir_options = {
.lower_extract_byte = true,
.lower_extract_word = true,
.lower_rotate = true,
+ .lower_to_scalar = true,
.optimize_sample_mask_in = true,
.max_unroll_iterations = 32,
.use_interpolated_input_intrinsics = true,
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index 7d88444c673..79edc6b1c2f 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -2191,6 +2191,7 @@ static const nir_shader_compiler_options nir_options = {
.lower_ldexp = true,
.lower_negate = true,
.lower_rotate = true,
+ .lower_to_scalar = true,
.max_unroll_iterations = 32,
};
diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c
index c04264cba32..20660d6fb28 100644
--- a/src/intel/compiler/brw_compiler.c
+++ b/src/intel/compiler/brw_compiler.c
@@ -50,6 +50,7 @@
.lower_base_vertex = true
#define COMMON_SCALAR_OPTIONS \
+ .lower_to_scalar = true, \
.lower_pack_half_2x16 = true, \
.lower_pack_snorm_2x16 = true, \
.lower_pack_snorm_4x8 = true, \
More information about the mesa-commit
mailing list