diff options
author | Gert Wollny <[email protected]> | 2018-11-12 09:17:34 +0100 |
---|---|---|
committer | Gert Wollny <[email protected]> | 2018-11-14 08:59:26 +0100 |
commit | 4bba280937aa62244bf242034a6cdfd01667d3c1 (patch) | |
tree | 1f19d916c077a29299ca853461e6d591472d6c05 /src/compiler/nir/nir.h | |
parent | b4380cb070c0865f1fbfb3720056545665759bc3 (diff) |
nir: Allow to skip integer ops in nir_lower_to_source_mods
Some hardware supports source mods only for float operations. Make it
possible to skip lowering to source mods in these cases.
v2: use option flags instead of a boolean (Jason Ekstrand)
Signed-off-by: Gert Wollny <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/compiler/nir/nir.h')
-rw-r--r-- | src/compiler/nir/nir.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index c469e111b2c..e542e08759d 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -3017,7 +3017,15 @@ typedef struct nir_lower_bitmap_options { void nir_lower_bitmap(nir_shader *shader, const nir_lower_bitmap_options *options); bool nir_lower_atomics_to_ssbo(nir_shader *shader, unsigned ssbo_offset); -bool nir_lower_to_source_mods(nir_shader *shader); + +typedef enum { + nir_lower_int_source_mods = 1 << 0, + nir_lower_float_source_mods = 1 << 1, + nir_lower_all_source_mods = (1 << 2) - 1 +} nir_lower_to_source_mods_flags; + + +bool nir_lower_to_source_mods(nir_shader *shader, nir_lower_to_source_mods_flags options); bool nir_lower_gs_intrinsics(nir_shader *shader); |