diff options
author | Rob Clark <[email protected]> | 2016-03-28 10:28:29 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2016-05-15 17:25:47 -0400 |
commit | 784086f3c1f50ca78fe62f925dfe66fb3aa5f22c (patch) | |
tree | 02e20d20517870c1cf5114f0c2c12a7fa261638a /src/gallium/drivers/freedreno/ir3/ir3_nir.c | |
parent | 8b24f7b440f80cc2cba272b3b479ddd14a07602b (diff) |
freedreno/ir3: add support for NIR as preferred IR
For now under debug flag, since only suitable for debugging/testing.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/ir3_nir.c')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_nir.c | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir.c b/src/gallium/drivers/freedreno/ir3/ir3_nir.c index d93765cdd32..eda8ce20472 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_nir.c +++ b/src/gallium/drivers/freedreno/ir3/ir3_nir.c @@ -35,25 +35,32 @@ #include "nir/tgsi_to_nir.h" +static const nir_shader_compiler_options options = { + .lower_fpow = true, + .lower_fsat = true, + .lower_scmp = true, + .lower_flrp32 = true, + .lower_flrp64 = true, + .lower_ffract = true, + .fuse_ffma = true, + .native_integers = true, + .vertex_id_zero_based = true, + .lower_extract_byte = true, + .lower_extract_word = true, +}; + struct nir_shader * ir3_tgsi_to_nir(const struct tgsi_token *tokens) { - static const nir_shader_compiler_options options = { - .lower_fpow = true, - .lower_fsat = true, - .lower_scmp = true, - .lower_flrp32 = true, - .lower_flrp64 = true, - .lower_ffract = true, - .fuse_ffma = true, - .native_integers = true, - .vertex_id_zero_based = true, - .lower_extract_byte = true, - .lower_extract_word = true, - }; return tgsi_to_nir(tokens, &options); } +const nir_shader_compiler_options * +ir3_get_compiler_options(void) +{ + return &options; +} + /* for given shader key, are any steps handled in nir? */ bool ir3_key_lowers_nir(const struct ir3_shader_key *key) |