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