On Fri, 2015-11-06 at 09:51 +0200, Tapani Pälli wrote: > > On 11/06/2015 04:32 AM, Timothy Arceri wrote: > > Test results: > > > > layout-subroutine-index-uniform.vert: > > Nvidia GeForce 840M - NVIDIA 346.47: pass > > Mesa 11.1-dev - pass > > > > layout-subroutine-location-function.vert: > > Nvidia GeForce 840M - NVIDIA 346.47: pass > > Mesa 11.1-dev - segfault > > > > layout-subroutine-location.vert: > > Nvidia GeForce 840M - NVIDIA 346.47: pass > > Mesa 11.1-dev - pass > > > > V2: It turns out there is what seems an artifical limitation where > > either GL_ARB_explicit_attrib_location or GLSL 330 is required for > > this extension. As Mesa implements this restriction for uniforms > > this is now added to the uniform tests. > > Reason seems that layout qualifier 'location' comes only with GLSL >= > 330 or with GL_ARB_explicit_attrib_location.
Sure I guess what I was trying to say is that the requirement is more about the implementation (Mesa) having the 'location' quaifier functionality implemented rather than accually needing anything that GL_ARB_explicit_attrib_location provides. The nvidia driver doesn't enforce this restriction for example. > > Tests look good to me; > Reviewed-by: Tapani Pälli <[email protected]> Thanks. > > > --- > > .../compiler/layout-subroutine-index-uniform.vert | 15 > > +++++++++++++++ > > .../compiler/layout-subroutine-location-function.vert | 14 > > ++++++++++++++ > > .../compiler/layout-subroutine-location.vert | 15 > > +++++++++++++++ > > 3 files changed, 44 insertions(+) > > create mode 100644 > > tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine-index > > -uniform.vert > > create mode 100644 > > tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -location-function.vert > > create mode 100644 > > tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -location.vert > > > > diff --git a/tests/spec/arb_explicit_uniform_location/compiler/layout > > -subroutine-index-uniform.vert > > b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -index-uniform.vert > > new file mode 100644 > > index 0000000..36a27b3 > > --- /dev/null > > +++ b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -index-uniform.vert > > @@ -0,0 +1,15 @@ > > +// [config] > > +// expect_result: fail > > +// glsl_version: 1.50 > > +// require_extensions: GL_ARB_shader_subroutine > > GL_ARB_explicit_uniform_location GL_ARB_explicit_attrib_location > > +// [end config] > > + > > +#version 150 > > +#extension GL_ARB_shader_subroutine: require > > +#extension GL_ARB_explicit_uniform_location: require > > +#extension GL_ARB_explicit_attrib_location: require > > + > > +subroutine void func_type(); > > + > > +/* A subroutine uniform for the above type */ > > +layout(index = 2) subroutine uniform func_type f; > > diff --git a/tests/spec/arb_explicit_uniform_location/compiler/layout > > -subroutine-location-function.vert > > b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -location-function.vert > > new file mode 100644 > > index 0000000..c63f3c5 > > --- /dev/null > > +++ b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -location-function.vert > > @@ -0,0 +1,14 @@ > > +// [config] > > +// expect_result: fail > > +// glsl_version: 1.50 > > +// require_extensions: GL_ARB_shader_subroutine > > GL_ARB_explicit_uniform_location > > +// [end config] > > + > > +#version 150 > > +#extension GL_ARB_shader_subroutine: require > > +#extension GL_ARB_explicit_uniform_location: require > > + > > +subroutine void func_type(); > > + > > +/* A subroutine matching the above type */ > > +layout(location = 2) subroutine (func_type) void f() {} > > diff --git a/tests/spec/arb_explicit_uniform_location/compiler/layout > > -subroutine-location.vert > > b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -location.vert > > new file mode 100644 > > index 0000000..47b6700 > > --- /dev/null > > +++ b/tests/spec/arb_explicit_uniform_location/compiler/layout-subroutine > > -location.vert > > @@ -0,0 +1,15 @@ > > +// [config] > > +// expect_result: pass > > +// glsl_version: 1.50 > > +// require_extensions: GL_ARB_shader_subroutine > > GL_ARB_explicit_uniform_location GL_ARB_explicit_attrib_location > > +// [end config] > > + > > +#version 150 > > +#extension GL_ARB_shader_subroutine: require > > +#extension GL_ARB_explicit_uniform_location: require > > +#extension GL_ARB_explicit_attrib_location: require > > + > > +subroutine void func_type(); > > + > > +/* A subroutine uniform for the above type */ > > +layout(location = 2) subroutine uniform func_type f; > > > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
