On Sat, 2019-02-02 at 10:15 +1100, Timothy Arceri wrote:
> On 2/2/19 4:55 am, Andres Gomez wrote:
> > Additional check to address a bug in mesa in which a stride which
> > is a divisor of the declared offset for an overflowing varying
> > won't fail.
> > 
> >  From the GL_ARB_enhanced_layouts spec:
> > 
> >    " It is a compile-time or link-time error to have any *xfb_offset*
> >      that overflows *xfb_stride*, whether stated on declarations before
> >      or after the *xfb_stride*, or in different compilation units."
> > 
> > Cc: Timothy Arceri <tarc...@itsqueeze.com>
> > Signed-off-by: Andres Gomez <ago...@igalia.com>
> > ---
> >   .../xfb_stride/variable-stride-overflow2.vert | 28 +++++++++++++++++++
> >   1 file changed, 28 insertions(+)
> >   create mode 100644 
> > tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-overflow2.vert
> > 
> > diff --git 
> > a/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-overflow2.vert
> >  
> > b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-overflow2.vert
> > new file mode 100644
> > index 000000000..469c5e430
> > --- /dev/null
> > +++ 
> > b/tests/spec/arb_enhanced_layouts/compiler/transform-feedback-layout-qualifiers/xfb_stride/variable-stride-overflow2.vert
> > @@ -0,0 +1,28 @@
> > +// [config]
> > +// expect_result: fail
> > +// glsl_version: 1.40
> > +// check_link: true
> > +// require_extensions: GL_ARB_enhanced_layouts
> > +// [end config]
> > +//
> > +// Additional check to address a bug in mesa in which a stride which
> > +// is a divisor of the declared offset for an overflowing varying
> > +// won't fail.
> > +//
> > +// From the GL_ARB_enhanced_layouts spec:
> > +//
> > +//    "It is a compile-time or link-time error to have any *xfb_offset*
> > +//    that overflows *xfb_stride*, whether stated on declarations before or
> > +//    after the *xfb_stride*, or in different compilation units."
> > +
> > +#version 140
> > +#extension GL_ARB_enhanced_layouts: require
> > +
> > +layout(xfb_stride = 16) out vec4 var;
> > +layout(xfb_offset = 16) out vec4 var2;
> 
> This test looks wrong to me. This looks like it *should* compile.
> 
> vec4 var uses bytes 0-15. So there is no issue with vec4 vec2 having an 
> offset of 16. Its been a long time since I worked on this but I think 
> this change is wrong. I see no reason this should fail compilation.

I believe I've answered now this in:
https://lists.freedesktop.org/archives/mesa-dev/2019-February/214457.html

> 
> > +
> > +void main()
> > +{
> > +  var = vec4(1.0);
> > +  var2 = vec4(0.0);
> > +}
> > 
-- 
Br,

Andres

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to