diff options
author | Francisco Jerez <[email protected]> | 2016-05-27 23:29:14 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2016-05-31 15:57:41 -0700 |
commit | c1107cec44ab030c7fcc97c67baa12df1cc9d7b5 (patch) | |
tree | a4a5cd95074d3e50eaffdbc4c1bca8560264702f /src/mesa/drivers/dri/i965/brw_fs_builder.h | |
parent | 06d8765bc09ecd8ff73fff424c8cfec645cb0ded (diff) |
i965/fs: Allow scalar source regions on SNB math instructions.
I haven't found any evidence that this isn't supported by the
hardware, in fact according to the SNB hardware spec:
"The supported regioning modes for math instructions are align16,
align1 with the following restrictions:
- Scalar source is supported.
[...]
- Source and destination offset must be the same, except the case of
scalar source."
Cc: "12.0" <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs_builder.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_builder.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_builder.h b/src/mesa/drivers/dri/i965/brw_fs_builder.h index f22903e5234..aef35f33239 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_builder.h +++ b/src/mesa/drivers/dri/i965/brw_fs_builder.h @@ -621,20 +621,14 @@ namespace brw { src_reg fix_math_operand(const src_reg &src) const { - /* Can't do hstride == 0 args on gen6 math, so expand it out. We - * might be able to do better by doing execsize = 1 math and then - * expanding that result out, but we would need to be careful with - * masking. - * - * Gen6 hardware ignores source modifiers (negate and abs) on math + /* Gen6 hardware ignores source modifiers (negate and abs) on math * instructions, so we also move to a temp to set those up. * * Gen7 relaxes most of the above restrictions, but still can't use IMM * operands to math */ if ((shader->devinfo->gen == 6 && - (src.file == IMM || src.file == UNIFORM || - src.abs || src.negate)) || + (src.file == IMM || src.abs || src.negate)) || (shader->devinfo->gen == 7 && src.file == IMM)) { const dst_reg tmp = vgrf(src.type); MOV(tmp, src); |