On 5 September 2013 18:18, Ian Romanick <[email protected]> wrote:
> From: Ian Romanick <[email protected]> > > The test methodology is: > > - Bind an XFB object, start XFB, draw something, pause XFB. > > - Bind a different XFB object, start XFB, draw someting, pause XFB. > > - Rebind the first XFB object, resume XFB, draw something, end XFB. > > - Rebind the second XFB object, resume XFB, draw something, end XFB. > > - Verify that all the expected data has landed in the expected > places. > > NVIDIA (304.64 on GTX 260) passes this test. AMD has not been tested. > > Mesa (i965_dri.so) fails the GLES3 version of the test, and, when > GL_ARB_transform_feedback2 is force-enabled, it fails the desktop GL > version as well. > > Signed-off-by: Ian Romanick <[email protected]> > Cc: Kenneth Graunke <[email protected]> > --- > tests/all.tests | 2 + > .../spec/arb_transform_feedback2/CMakeLists.gl.txt | 1 + > .../arb_transform_feedback2/CMakeLists.gles3.txt | 13 + > .../change-objects-while-paused.c | 303 > +++++++++++++++++++++ > 4 files changed, 319 insertions(+) > create mode 100644 tests/spec/arb_transform_feedback2/CMakeLists.gles3.txt > create mode 100644 > tests/spec/arb_transform_feedback2/change-objects-while-paused.c > > diff --git a/tests/all.tests b/tests/all.tests > index b68f187..4a19fdc 100644 > --- a/tests/all.tests > +++ b/tests/all.tests > @@ -2242,6 +2242,8 @@ ext_transform_feedback['geometry-shaders-basic'] = > concurrent_test( > > arb_transform_feedback2 = Group() > spec['ARB_transform_feedback2'] = arb_transform_feedback2 > +arb_transform_feedback2['Change objects while paused'] = > PlainExecTest(['arb_transform_feedback2-change-objects-while-paused', > '-auto']) > +arb_transform_feedback2['Change objects while paused (GLES3)'] = > PlainExecTest(['arb_transform_feedback2-change-objects-while-paused_gles3', > '-auto']) > arb_transform_feedback2['draw-auto'] = > PlainExecTest(['arb_transform_feedback2-draw-auto', '-auto']) > arb_transform_feedback2['istranformfeedback'] = > PlainExecTest(['arb_transform_feedback2-istransformfeedback', '-auto']) > arb_transform_feedback2['glGenTransformFeedbacks names only'] = > concurrent_test('arb_transform_feedback2-gen-names-only') > diff --git a/tests/spec/arb_transform_feedback2/CMakeLists.gl.txt > b/tests/spec/arb_transform_feedback2/CMakeLists.gl.txt > index fbd716b..3d74f91 100644 > --- a/tests/spec/arb_transform_feedback2/CMakeLists.gl.txt > +++ b/tests/spec/arb_transform_feedback2/CMakeLists.gl.txt > @@ -12,6 +12,7 @@ link_libraries ( > piglit_add_executable (arb_transform_feedback2-api-errors api-errors.c) > piglit_add_executable (arb_transform_feedback2-api-queries api-queries.c) > piglit_add_executable (arb_transform_feedback2-cannot-bind-when-active > cannot-bind-when-active.c) > +piglit_add_executable > (arb_transform_feedback2-change-objects-while-paused > change-objects-while-paused.c) > piglit_add_executable (arb_transform_feedback2-draw-auto draw-auto.c) > piglit_add_executable (arb_transform_feedback2-gen-names-only > gen-names-only.c) > piglit_add_executable (arb_transform_feedback2-istransformfeedback > istransformfeedback.c) > diff --git a/tests/spec/arb_transform_feedback2/CMakeLists.gles3.txt > b/tests/spec/arb_transform_feedback2/CMakeLists.gles3.txt > new file mode 100644 > index 0000000..cad25bd > --- /dev/null > +++ b/tests/spec/arb_transform_feedback2/CMakeLists.gles3.txt > @@ -0,0 +1,13 @@ > +include_directories( > + ${GLEXT_INCLUDE_DIR} > + ${OPENGL_INCLUDE_PATH} > +) > + > +link_libraries ( > + piglitutil_${piglit_target_api} > + ${OPENGL_gles2_LIBRARY} > +) > + > +piglit_add_executable > (arb_transform_feedback2-change-objects-while-paused_${piglit_target_api} > change-objects-while-paused.c) > + > +# vim: ft=cmake: > diff --git > a/tests/spec/arb_transform_feedback2/change-objects-while-paused.c > b/tests/spec/arb_transform_feedback2/change-objects-while-paused.c > new file mode 100644 > index 0000000..2d759de > --- /dev/null > +++ b/tests/spec/arb_transform_feedback2/change-objects-while-paused.c > @@ -0,0 +1,303 @@ > +/* > + * Copyright © 2013 Intel Corporation > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the > "Software"), > + * to deal in the Software without restriction, including without > limitation > + * the rights to use, copy, modify, merge, publish, distribute, > sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice (including the > next > + * paragraph) shall be included in all copies or substantial portions of > the > + * Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT > SHALL > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > OTHER > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > DEALINGS > + * IN THE SOFTWARE. > + */ > + > +/** > + * \file change-objects-while-paused.c > + * Verify behavior of changing XFB objects while XFB is paused. > + * > + * The test methodology is: > + * > + * - Bind an XFB object, start XFB, draw something, pause XFB. > + * > + * - Bind a different XFB object, start XFB, draw someting, pause XFB. > + * > + * - Rebind the first XFB object, resume XFB, draw something, end XFB. > + * > + * - Rebind the second XFB object, resume XFB, draw something, end XFB. > + * > + * - Verify that all the expected data has landed in the expected places. > + */ > + > +#include "piglit-util-gl-common.h" > + > +PIGLIT_GL_TEST_CONFIG_BEGIN > + > +#ifdef PIGLIT_USE_OPENGL > + config.supports_gl_compat_version = 10; > I don't see anything in this test that relies on compatibility functionality. Can we add: config.supports_gl_core_version = 31; With that changed, patch is: Reviwed-by: Paul Berry <[email protected]>
_______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
