Reviewed-by: Samuel Iglesias Gonsálvez <sigles...@igalia.com> Thanks for writing a test for this issue,
Sam On 20/11/15 02:23, Jordan Justen wrote: > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Kristian Høgsberg <k...@bitplanet.net> > Cc: Samuel Iglesias Gonsalvez <sigles...@igalia.com> > Cc: Iago Toral Quiroga <ito...@igalia.com> > --- > This fails to link on i965. > > .../execution/large-field-copy.shader_test | 66 > ++++++++++++++++++++++ > 1 file changed, 66 insertions(+) > create mode 100644 > tests/spec/arb_shader_storage_buffer_object/execution/large-field-copy.shader_test > > diff --git > a/tests/spec/arb_shader_storage_buffer_object/execution/large-field-copy.shader_test > > b/tests/spec/arb_shader_storage_buffer_object/execution/large-field-copy.shader_test > new file mode 100644 > index 0000000..a949507 > --- /dev/null > +++ > b/tests/spec/arb_shader_storage_buffer_object/execution/large-field-copy.shader_test > @@ -0,0 +1,66 @@ > +# Test that a 'large' field of an SSBO can be copied. > + > +[require] > +GL >= 3.3 > +GLSL >= 3.30 > +GL_ARB_shader_storage_buffer_object > + > +[vertex shader passthrough] > + > +[fragment shader] > +#version 330 > +#extension GL_ARB_shader_storage_buffer_object: require > + > +#define SIZE 16 > + > +layout (std430) buffer SSBO { > + mat4 m1[SIZE]; > + mat4 m2[SIZE]; > +}; > + > +out vec4 color; > + > +uniform uint mode; > + > +void main() { > + bool pass = true; > + int i; > + > + switch (mode) { > + case 0u: > + for (i = 0; i < SIZE; i++) { > + m1[i] = mat4(vec4(i + 0), vec4(i + 1), > + vec4(i + 2), vec4(i + 3)); > + } > + break; > + case 1u: > + m2 = m1; > + break; > + case 2u: > + for (i = 0; i < SIZE; i++) { > + pass = pass && (m2[i] == mat4(vec4(i + 0), vec4(i + 1), > + vec4(i + 2), vec4(i + 3))); > + } > + break; > + } > + > + if (pass) > + color = vec4(0.0, 1.0, 0.0, 1.0); > + else > + color = vec4(1.0, 0.0, 0.0, 1.0); > +} > + > +[test] > +ssbo 2048 > + > +uniform uint mode 0 > +draw rect -1 -1 2 2 > +probe all rgba 0.0 1.0 0.0 1.0 > + > +uniform uint mode 1 > +draw rect -1 -1 2 2 > +probe all rgba 0.0 1.0 0.0 1.0 > + > +uniform uint mode 2 > +draw rect -1 -1 2 2 > +probe all rgba 0.0 1.0 0.0 1.0 > _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit