diff options
author | Iago Toral Quiroga <[email protected]> | 2018-12-17 09:17:06 +0100 |
---|---|---|
committer | Juan A. Suarez Romero <[email protected]> | 2019-04-18 11:05:18 +0200 |
commit | 3e377c68f879be05059c3c8871ffc4ea752523f2 (patch) | |
tree | 24dac11bddfb5aacf1b37a715967b9e8a8ac1fe1 /src/intel/Makefile.sources | |
parent | 829f278ad0042b0bb5026b10e7393fa3e11498b2 (diff) |
intel/compiler: add a NIR pass to lower conversions
Some conversions are not directly supported in hardware and need to be
split in two conversion instructions going through an intermediary type.
Doing this at the NIR level simplifies a bit the complexity in the backend.
v2:
- Consider fp16 rounding conversion opcodes
- Properly handle swizzles on conversion sources.
v3
- Run the pass earlier, right after nir_opt_algebraic_late (Jason)
- NIR alu output types already have the bit-size (Jason)
- Use 'is_conversion' to identify conversion operations (Jason)
v4:
- Be careful about the intermediate types we use so we don't lose
range and avoid incorrect rounding semantics (Jason)
Reviewed-by: Topi Pohjolainen <[email protected]> (v1)
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/intel/Makefile.sources')
-rw-r--r-- | src/intel/Makefile.sources | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources index dc1425c8c1c..c1f87e13e4e 100644 --- a/src/intel/Makefile.sources +++ b/src/intel/Makefile.sources @@ -80,6 +80,7 @@ COMPILER_FILES = \ compiler/brw_nir_analyze_boolean_resolves.c \ compiler/brw_nir_analyze_ubo_ranges.c \ compiler/brw_nir_attribute_workarounds.c \ + compiler/brw_nir_lower_conversions.c \ compiler/brw_nir_lower_cs_intrinsics.c \ compiler/brw_nir_lower_image_load_store.c \ compiler/brw_nir_lower_mem_access_bit_sizes.c \ |