[Mesa-dev] [RFC 00/10] WIP: NIR soft fp64 for ARB_gpu_shader_fp64 on gen6

Elie Tournier tournier.elie at gmail.com
Wed Apr 12 22:43:09 UTC 2017


I've got this series on my laptop for too long so I send it even if it's still in progress.
The goal of this work is to enable ARB_gpu_shader_fp64 on gen6.
Most of the algorithms come from "Berkeley SoftFloat" [1].
You can find a branch on my github [2].

So far we have:
Patches 1-5 seems to do the job correctly.
Patches 6-9 fail the Piglit tests but we handle zero, inf and NaN with success.
Some tests pass if I increase the tolerance.

All comments and suggestions are very welcome.

[1] http://www.jhauser.us/arithmetic/SoftFloat.html
[2] https://github.com/Hopetech/mesa/tree/nir_arb_gpu_shader_fp64

Elie Tournier (10):
  nir/lower_double_ops: lower abs()
  nir/lower_double_ops: lower neg()
  nir/lower_double_ops: lower sign()
  nir/lower_double_ops: lower eq()
  nir/lower_double_ops: lower lt()
  nir/lower_double_ops: lower mul()
  nir/lower_double_ops: lower div()
  nir/lower_double_ops: lower add()
  nir/lower_double_ops: lower sub()
  mesa: enable ARB_gpu_shader_fp64 on Gen6

 src/compiler/nir/nir.h                       |   11 +-
 src/compiler/nir/nir_lower_double_ops.c      | 1713 ++++++++++++++++++++++++++
 src/intel/compiler/brw_nir.c                 |   11 +-
 src/mesa/drivers/dri/i965/intel_extensions.c |    1 +
 4 files changed, 1734 insertions(+), 2 deletions(-)

-- 
2.11.0



More information about the mesa-dev mailing list