[Piglit] [PATCH] arb_transform_feedback2: Check switching active XFB objects while paused
Paul Berry
stereotype441 at gmail.com
Tue Oct 1 11:39:33 PDT 2013
On 1 October 2013 11:34, Ian Romanick <idr at freedesktop.org> wrote:
> On 09/09/2013 11:16 AM, Paul Berry wrote:
> > On 5 September 2013 18:18, Ian Romanick <idr at freedesktop.org
> > <mailto:idr at freedesktop.org>> wrote:
> >
> > From: Ian Romanick <ian.d.romanick at intel.com
> > <mailto:ian.d.romanick at intel.com>>
> >
> > 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 <ian.d.romanick at intel.com
> > <mailto:ian.d.romanick at intel.com>>
> > Cc: Kenneth Graunke <kenneth at whitecape.org
> > <mailto:kenneth at whitecape.org>>
> > ---
> > 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;
>
> In addition to the supports_gl_compat_version or instead of?
>
> I did that because several Gallium drivers enable this extension without
> even OpenGL 3.0. I wanted the test to be able to run on those drivers
> as well.
>
I meant in addition (hence "can we add").
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20131001/7c5cd6b4/attachment-0001.html>
More information about the Piglit
mailing list