[Mesa-dev] [PATCH v2 10/28] glsl/ir: Add printing support for doubles
Ian Romanick
idr at freedesktop.org
Thu Feb 5 23:48:52 PST 2015
This patch is
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 02/06/2015 06:56 AM, Ilia Mirkin wrote:
> From: Dave Airlie <airlied at gmail.com>
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> Reviewed-by: Matt Turner <mattst88 at gmail.com>
> ---
> src/glsl/ir_print_visitor.cpp | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp
> index bd39805..3600827 100644
> --- a/src/glsl/ir_print_visitor.cpp
> +++ b/src/glsl/ir_print_visitor.cpp
> @@ -436,6 +436,17 @@ void ir_print_visitor::visit(ir_constant *ir)
> fprintf(f, "%f", ir->value.f[i]);
> break;
> case GLSL_TYPE_BOOL: fprintf(f, "%d", ir->value.b[i]); break;
> + case GLSL_TYPE_DOUBLE:
> + if (ir->value.d[i] == 0.0)
> + /* 0.0 == -0.0, so print with %f to get the proper sign. */
> + fprintf(f, "%.1f", ir->value.d[i]);
> + else if (fabs(ir->value.d[i]) < 0.000001)
> + fprintf(f, "%a", ir->value.f[i]);
> + else if (fabs(ir->value.d[i]) > 1000000.0)
> + fprintf(f, "%e", ir->value.d[i]);
> + else
> + fprintf(f, "%f", ir->value.d[i]);
> + break;
> default: assert(0);
> }
> }
>
More information about the mesa-dev
mailing list