<div dir="ltr"><div>Ya. I just want to know that part "only some r600".<br></div><div>I believe some of the nv0 cards doesn't support double. You have any ideas or suggestions to make it possible?<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 8, 2015 at 3:28 PM, Ilia Mirkin <span dir="ltr"><<a href="mailto:imirkin@alum.mit.edu" target="_blank">imirkin@alum.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes. nvc0+ (fermi+) has fp64 support [and the G200 chip also has a<br>
bunch, tbd whether we'll bother supporting it]. radeon si/cik also has<br>
it. Only some r600 eg/ni-based cards have hw support (generally<br>
speaking, the higher end ones), the rest will have to emulate it. I<br>
believe that intel gen7 (ivb) and later have enough to make it happen<br>
too.<br>
<div class="HOEnZb"><div class="h5"><br>
On Sun, Feb 8, 2015 at 3:21 PM, Aditya Avinash <<a href="mailto:adityaavinash1@gmail.com">adityaavinash1@gmail.com</a>> wrote:<br>
> Interesting... Does the actual hardware support double? (atleast for nv0)<br>
> Thank you!<br>
><br>
> On Sun, Feb 8, 2015 at 12:20 PM, Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br>
>><br>
>> It all works fine on nvc0 and softpipe with my branch at<br>
>><br>
>> <a href="https://github.com/imirkin/mesa/commits/fp64-4" target="_blank">https://github.com/imirkin/mesa/commits/fp64-4</a><br>
>><br>
>> This branch also includes Dave's preliminary work on r600/cayman, not<br>
>> sure how far along it is, I believe it's still missing a few things.<br>
>> The nvc0 implementation needs a few more finishing touches for<br>
>> handling RCP and RSQ better (just adding a couple of steps of<br>
>> Newton-Raphson, since the hw only computes 32 bits of the 64-bit<br>
>> result).<br>
>><br>
>><br>
>> On Sun, Feb 8, 2015 at 12:04 PM, Aditya Avinash<br>
>> <<a href="mailto:adityaavinash1@gmail.com">adityaavinash1@gmail.com</a>> wrote:<br>
>> > Hi,<br>
>> > How far is glsl compiler working for fp64 shader?<br>
>> ><br>
>> > On Sun, Feb 8, 2015 at 4:00 AM, Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>><br>
>> > wrote:<br>
>> >><br>
>> >> From: Dave Airlie <<a href="mailto:airlied@redhat.com">airlied@redhat.com</a>><br>
>> >><br>
>> >> v2: add define bit (Tapani Pälli)<br>
>> >><br>
>> >> Patch makes following Piglit tests pass:<br>
>> >>    arb_gpu_shader_fp64/preprocessor/define.vert<br>
>> >>    arb_gpu_shader_fp64/preprocessor/define.frag<br>
>> >><br>
>> >> Reviewed-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com">ian.d.romanick@intel.com</a>><br>
>> >> Signed-off-by: Dave Airlie <<a href="mailto:airlied@redhat.com">airlied@redhat.com</a>><br>
>> >> Reviewed-by: Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>><br>
>> >> ---<br>
>> >>  src/glsl/glcpp/glcpp-parse.y        | 3 +++<br>
>> >>  src/glsl/glsl_parser_extras.cpp     | 1 +<br>
>> >>  src/glsl/glsl_parser_extras.h       | 2 ++<br>
>> >>  src/glsl/standalone_scaffolding.cpp | 1 +<br>
>> >>  4 files changed, 7 insertions(+)<br>
>> >><br>
>> >> diff --git a/src/glsl/glcpp/glcpp-parse.y<br>
>> >> b/src/glsl/glcpp/glcpp-parse.y<br>
>> >> index e5bebe5..c2f5223 100644<br>
>> >> --- a/src/glsl/glcpp/glcpp-parse.y<br>
>> >> +++ b/src/glsl/glcpp/glcpp-parse.y<br>
>> >> @@ -2445,6 +2445,9 @@<br>
>> >> _glcpp_parser_handle_version_declaration(glcpp_parser_t *parser,<br>
>> >> intmax_t<br>
>> >> versio<br>
>> >>               if (extensions->ARB_gpu_shader5)<br>
>> >>                  add_builtin_define(parser, "GL_ARB_gpu_shader5", 1);<br>
>> >><br>
>> >> +              if (extensions->ARB_gpu_shader_fp64)<br>
>> >> +                 add_builtin_define(parser, "GL_ARB_gpu_shader_fp64",<br>
>> >> 1);<br>
>> >> +<br>
>> >>               if (extensions->AMD_vertex_shader_layer)<br>
>> >>                  add_builtin_define(parser,<br>
>> >> "GL_AMD_vertex_shader_layer",<br>
>> >> 1);<br>
>> >><br>
>> >> diff --git a/src/glsl/glsl_parser_extras.cpp<br>
>> >> b/src/glsl/glsl_parser_extras.cpp<br>
>> >> index ccdf031..cb19ce1 100644<br>
>> >> --- a/src/glsl/glsl_parser_extras.cpp<br>
>> >> +++ b/src/glsl/glsl_parser_extras.cpp<br>
>> >> @@ -527,6 +527,7 @@ static const _mesa_glsl_extension<br>
>> >> _mesa_glsl_supported_extensions[] = {<br>
>> >>     EXT(ARB_fragment_coord_conventions, true,  false,<br>
>> >> ARB_fragment_coord_conventions),<br>
>> >>     EXT(ARB_fragment_layer_viewport,    true,  false,<br>
>> >> ARB_fragment_layer_viewport),<br>
>> >>     EXT(ARB_gpu_shader5,                true,  false,<br>
>> >> ARB_gpu_shader5),<br>
>> >> +   EXT(ARB_gpu_shader_fp64,            true,  false,<br>
>> >> ARB_gpu_shader_fp64),<br>
>> >>     EXT(ARB_sample_shading,             true,  false,<br>
>> >> ARB_sample_shading),<br>
>> >>     EXT(ARB_separate_shader_objects,    true,  false,     dummy_true),<br>
>> >>     EXT(ARB_shader_atomic_counters,     true,  false,<br>
>> >> ARB_shader_atomic_counters),<br>
>> >> diff --git a/src/glsl/glsl_parser_extras.h<br>
>> >> b/src/glsl/glsl_parser_extras.h<br>
>> >> index 843fdae..dafee4e 100644<br>
>> >> --- a/src/glsl/glsl_parser_extras.h<br>
>> >> +++ b/src/glsl/glsl_parser_extras.h<br>
>> >> @@ -414,6 +414,8 @@ struct _mesa_glsl_parse_state {<br>
>> >>     bool ARB_fragment_layer_viewport_warn;<br>
>> >>     bool ARB_gpu_shader5_enable;<br>
>> >>     bool ARB_gpu_shader5_warn;<br>
>> >> +   bool ARB_gpu_shader_fp64_enable;<br>
>> >> +   bool ARB_gpu_shader_fp64_warn;<br>
>> >>     bool ARB_sample_shading_enable;<br>
>> >>     bool ARB_sample_shading_warn;<br>
>> >>     bool ARB_separate_shader_objects_enable;<br>
>> >> diff --git a/src/glsl/standalone_scaffolding.cpp<br>
>> >> b/src/glsl/standalone_scaffolding.cpp<br>
>> >> index 67b0d0c..ad0d75b 100644<br>
>> >> --- a/src/glsl/standalone_scaffolding.cpp<br>
>> >> +++ b/src/glsl/standalone_scaffolding.cpp<br>
>> >> @@ -127,6 +127,7 @@ void initialize_context_to_defaults(struct<br>
>> >> gl_context<br>
>> >> *ctx, gl_api api)<br>
>> >>     ctx->Extensions.ARB_fragment_coord_conventions = true;<br>
>> >>     ctx->Extensions.ARB_fragment_layer_viewport = true;<br>
>> >>     ctx->Extensions.ARB_gpu_shader5 = true;<br>
>> >> +   ctx->Extensions.ARB_gpu_shader_fp64 = true;<br>
>> >>     ctx->Extensions.ARB_sample_shading = true;<br>
>> >>     ctx->Extensions.ARB_shader_bit_encoding = true;<br>
>> >>     ctx->Extensions.ARB_shader_stencil_export = true;<br>
>> >> --<br>
>> >> 2.0.5<br>
>> >><br>
>> >> _______________________________________________<br>
>> >> mesa-dev mailing list<br>
>> >> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
>> >> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Regards,<br>
>> > Aditya Atluri,<br>
>> > USA.<br>
>> ><br>
><br>
><br>
><br>
><br>
> --<br>
> Regards,<br>
> Aditya Atluri,<br>
> USA.<br>
><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div><font style="font-family:trebuchet ms,sans-serif">Regards,<br></font></div><font style="font-family:trebuchet ms,sans-serif"><b style="background-color:rgb(255,255,255);color:rgb(0,0,153)">Aditya Atluri,<br></b></font></div><div><font style="font-family:trebuchet ms,sans-serif"><b style="background-color:rgb(255,255,255);color:rgb(0,0,153)">USA.<br></b></font></div><font style="font-family:trebuchet ms,sans-serif"><b style="background-color:rgb(255,255,255);color:rgb(0,0,153)"></b><span style="background-color:rgb(255,255,255);color:rgb(0,0,153)"></span></font><br></div></div>
</div>