diff options
author | Matt Turner <[email protected]> | 2017-06-14 11:03:19 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2018-02-28 11:15:47 -0800 |
commit | 2cff3242109078999c57d5e6772418c09e835826 (patch) | |
tree | 2a039fe05a88b4737fa7a88371a87eb5ec493bde /src/intel/compiler/brw_shader.cpp | |
parent | 58611ff913df74e7f790b0c572b983a992e25a17 (diff) |
intel/compiler: Add Gen11+ native float type
This new type exposes the additional precision offered by the
accumulator register and will be used in the next patch to implement the
functionality of the PLN instruction using a pair of MAD instructions.
One weird thing to note: align1 ternary instructions may only have an
accumulator in the dst or src1 normally, but when src0's type is :NF
the accumulator is read.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_shader.cpp')
-rw-r--r-- | src/intel/compiler/brw_shader.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_shader.cpp b/src/intel/compiler/brw_shader.cpp index 1df4f35cd8e..0e713819d94 100644 --- a/src/intel/compiler/brw_shader.cpp +++ b/src/intel/compiler/brw_shader.cpp @@ -541,6 +541,8 @@ brw_saturate_immediate(enum brw_reg_type type, struct brw_reg *reg) unreachable("unimplemented: saturate vector immediate"); case BRW_REGISTER_TYPE_HF: unreachable("unimplemented: saturate HF immediate"); + case BRW_REGISTER_TYPE_NF: + unreachable("no NF immediates"); } if (size < 8) { @@ -590,6 +592,8 @@ brw_negate_immediate(enum brw_reg_type type, struct brw_reg *reg) assert(!"unimplemented: negate UV/V immediate"); case BRW_REGISTER_TYPE_HF: assert(!"unimplemented: negate HF immediate"); + case BRW_REGISTER_TYPE_NF: + unreachable("no NF immediates"); } return false; @@ -632,6 +636,8 @@ brw_abs_immediate(enum brw_reg_type type, struct brw_reg *reg) assert(!"unimplemented: abs V immediate"); case BRW_REGISTER_TYPE_HF: assert(!"unimplemented: abs HF immediate"); + case BRW_REGISTER_TYPE_NF: + unreachable("no NF immediates"); } return false; |