On 08/14/2014 03:52 AM, Dave Airlie wrote: > From: Dave Airlie <airl...@redhat.com> > > This just adds the entries to extensions.c and mtypes.h > > Signed-off-by: Dave Airlie <airl...@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? > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h > index 742ce3e..121f2ea 100644 > --- a/src/mesa/main/mtypes.h > +++ b/src/mesa/main/mtypes.h > @@ -3572,6 +3572,7 @@ struct gl_extensions > GLboolean ARB_explicit_uniform_location; > GLboolean ARB_geometry_shader4; > GLboolean ARB_gpu_shader5; > + GLboolean ARB_gpu_shader_fp64; > GLboolean ARB_half_float_vertex; > GLboolean ARB_instanced_arrays; > GLboolean ARB_internalformat_query; > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev