[Mesa-dev] [PATCH v3 06/29] glsl: add ARB_gpu_shader_fp64 to the glsl extensions. (v2)
Ilia Mirkin
imirkin at alum.mit.edu
Sun Feb 8 09:20:06 PST 2015
It all works fine on nvc0 and softpipe with my branch at
https://github.com/imirkin/mesa/commits/fp64-4
This branch also includes Dave's preliminary work on r600/cayman, not
sure how far along it is, I believe it's still missing a few things.
The nvc0 implementation needs a few more finishing touches for
handling RCP and RSQ better (just adding a couple of steps of
Newton-Raphson, since the hw only computes 32 bits of the 64-bit
result).
On Sun, Feb 8, 2015 at 12:04 PM, Aditya Avinash
<adityaavinash1 at gmail.com> wrote:
> Hi,
> How far is glsl compiler working for fp64 shader?
>
> On Sun, Feb 8, 2015 at 4:00 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>>
>> From: Dave Airlie <airlied at redhat.com>
>>
>> v2: add define bit (Tapani Pälli)
>>
>> Patch makes following Piglit tests pass:
>> arb_gpu_shader_fp64/preprocessor/define.vert
>> arb_gpu_shader_fp64/preprocessor/define.frag
>>
>> Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> Reviewed-by: Matt Turner <mattst88 at gmail.com>
>> ---
>> src/glsl/glcpp/glcpp-parse.y | 3 +++
>> src/glsl/glsl_parser_extras.cpp | 1 +
>> src/glsl/glsl_parser_extras.h | 2 ++
>> src/glsl/standalone_scaffolding.cpp | 1 +
>> 4 files changed, 7 insertions(+)
>>
>> diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
>> index e5bebe5..c2f5223 100644
>> --- a/src/glsl/glcpp/glcpp-parse.y
>> +++ b/src/glsl/glcpp/glcpp-parse.y
>> @@ -2445,6 +2445,9 @@
>> _glcpp_parser_handle_version_declaration(glcpp_parser_t *parser, intmax_t
>> versio
>> if (extensions->ARB_gpu_shader5)
>> add_builtin_define(parser, "GL_ARB_gpu_shader5", 1);
>>
>> + if (extensions->ARB_gpu_shader_fp64)
>> + add_builtin_define(parser, "GL_ARB_gpu_shader_fp64", 1);
>> +
>> if (extensions->AMD_vertex_shader_layer)
>> add_builtin_define(parser, "GL_AMD_vertex_shader_layer",
>> 1);
>>
>> diff --git a/src/glsl/glsl_parser_extras.cpp
>> b/src/glsl/glsl_parser_extras.cpp
>> index ccdf031..cb19ce1 100644
>> --- a/src/glsl/glsl_parser_extras.cpp
>> +++ b/src/glsl/glsl_parser_extras.cpp
>> @@ -527,6 +527,7 @@ static const _mesa_glsl_extension
>> _mesa_glsl_supported_extensions[] = {
>> EXT(ARB_fragment_coord_conventions, true, false,
>> ARB_fragment_coord_conventions),
>> EXT(ARB_fragment_layer_viewport, true, false,
>> ARB_fragment_layer_viewport),
>> EXT(ARB_gpu_shader5, true, false,
>> ARB_gpu_shader5),
>> + EXT(ARB_gpu_shader_fp64, true, false,
>> ARB_gpu_shader_fp64),
>> EXT(ARB_sample_shading, true, false,
>> ARB_sample_shading),
>> EXT(ARB_separate_shader_objects, true, false, dummy_true),
>> EXT(ARB_shader_atomic_counters, true, false,
>> ARB_shader_atomic_counters),
>> diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h
>> index 843fdae..dafee4e 100644
>> --- a/src/glsl/glsl_parser_extras.h
>> +++ b/src/glsl/glsl_parser_extras.h
>> @@ -414,6 +414,8 @@ struct _mesa_glsl_parse_state {
>> bool ARB_fragment_layer_viewport_warn;
>> bool ARB_gpu_shader5_enable;
>> bool ARB_gpu_shader5_warn;
>> + bool ARB_gpu_shader_fp64_enable;
>> + bool ARB_gpu_shader_fp64_warn;
>> bool ARB_sample_shading_enable;
>> bool ARB_sample_shading_warn;
>> bool ARB_separate_shader_objects_enable;
>> diff --git a/src/glsl/standalone_scaffolding.cpp
>> b/src/glsl/standalone_scaffolding.cpp
>> index 67b0d0c..ad0d75b 100644
>> --- a/src/glsl/standalone_scaffolding.cpp
>> +++ b/src/glsl/standalone_scaffolding.cpp
>> @@ -127,6 +127,7 @@ void initialize_context_to_defaults(struct gl_context
>> *ctx, gl_api api)
>> ctx->Extensions.ARB_fragment_coord_conventions = true;
>> ctx->Extensions.ARB_fragment_layer_viewport = true;
>> ctx->Extensions.ARB_gpu_shader5 = true;
>> + ctx->Extensions.ARB_gpu_shader_fp64 = true;
>> ctx->Extensions.ARB_sample_shading = true;
>> ctx->Extensions.ARB_shader_bit_encoding = true;
>> ctx->Extensions.ARB_shader_stencil_export = true;
>> --
>> 2.0.5
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
>
>
> --
> Regards,
> Aditya Atluri,
> USA.
>
More information about the mesa-dev
mailing list