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

tournier.elie tournier.elie at gmail.com
Mon Apr 24 16:37:22 UTC 2017


Hi list,

I'm still interested by a review or some comments/ideas to help me
land this series.
I'm trying to figure out why mul/div and add/sub fail the piglit test.
I already investigated about using "nir_ushr" instead of "nir_ishr". I
also checked if the "nir_bcsel" were done correctly. Without success.

Two sets of eyes and ears are better than one. ;)

Thx


On 12 April 2017 at 23:43, Elie Tournier <tournier.elie at gmail.com> wrote:
> 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