[Mesa-dev] [PATCH 02/11] mesa: add ARB_gpu_shader_fp64 extension info
Dave Airlie
airlied at gmail.com
Sat Aug 23 22:23:01 PDT 2014
On 23 August 2014 10:55, Ian Romanick <idr at freedesktop.org> wrote:
> On 08/14/2014 03:52 AM, Dave Airlie wrote:
>> From: Dave Airlie <airlied at redhat.com>
>>
>> This just adds the entries to extensions.c and mtypes.h
>>
>> Signed-off-by: Dave Airlie <airlied at redhat.com>
>> ---
>> src/mesa/main/extensions.c | 1 +
>> src/mesa/main/mtypes.h | 1 +
>> 2 files changed, 2 insertions(+)
>>
>> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
>> index 4f322d0..1445a9d 100644
>> --- a/src/mesa/main/extensions.c
>> +++ b/src/mesa/main/extensions.c
>> @@ -117,6 +117,7 @@ static const struct extension extension_table[] = {
>> { "GL_ARB_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL, 1998 },
>> { "GL_ARB_get_program_binary", o(dummy_true), GL, 2010 },
>> { "GL_ARB_gpu_shader5", o(ARB_gpu_shader5), GL, 2010 },
>> + { "GL_ARB_gpu_shader_fp64", o(ARB_gpu_shader_fp64), GL, 2010 },
>> { "GL_ARB_half_float_pixel", o(dummy_true), GL, 2003 },
>> { "GL_ARB_half_float_vertex", o(ARB_half_float_vertex), GL, 2008 },
>> { "GL_ARB_instanced_arrays", o(ARB_instanced_arrays), GL, 2008 },
>
> The extension spec says, "OpenGL 3.2 and GLSL 1.50 are required." Many
> times these requirements are excessive... and there just because people
> didn't want to think about the interactions with older versions. :) In
> this case, however, I think it's reasonable. In GLSL 1.50 the rules
> about where interpolation qualifiers were specified changed. The last
> bit of issue 9 alludes to this.
>
> (9) Are double-precision "varyings" (values passed between shader stages)
> supported by this extension? If so, is double-precision interpolation
> is supported?
>
> RESOLVED: Double-precision shader inputs and outputs are supported,
> except for vertex shader inputs and fragment shader outputs.
> Additionally, double-precision vertex shader inputs are provided by the
> separate extension EXT_vertex_attrib_64bit. No known extension provides
> double-precision fragment outputs, but that doesn't seem important since
> OpenGL provides no pixel/texture formats with double-precision
> components that could reasonably receive such outputs.
>
> Interpolation not supported in this extension for double-precision
> floating-point components. As with integer types in OpenGL 3.0,
> double-precision floating-point fragment shader inputs must be qualified
> as "flat".
>
> Note that this extension reformulates the spec language requiring "flat"
> qualifiers, in addition to adding doubles to the list of "flat" types.
> In GLSL 1.30, the spec applies these requirements to vertex shader
> outputs but imposes no requirement on fragment inputs. We move this
> requirement to fragment inputs, since vertex shader outputs may be
> passed to tessellation or geometry shaders without interpolation, and
> thus without the need for qualification by "flat".
>
> Because of this, it seems like we should restrict this extension to
> core profile. Opinions?
Yes I'm happy to restrict to GL core, seems like it would cause less
possible issues.
Dave.
More information about the mesa-dev
mailing list