Re: [Piglit] [PATCH] Add tests for GL_ARB_shader_draw_parameters

2015-12-30 Thread Ilia Mirkin
While these all look fine, it appears that there are no tests for
gl[Multi]DrawArraysIndirect.

On Wed, Dec 16, 2015 at 7:17 PM, Kristian Høgsberg  wrote:
> From: Kristian Høgsberg Kristensen 
>
> ---
>
> v2: Fix copy-paste error in drawid-indirect-vertexid case.
>
>  tests/all.py   |  15 ++
>  tests/spec/CMakeLists.txt  |   1 +
>  .../arb_shader_draw_parameters/CMakeLists.gl.txt   |  14 ++
>  .../spec/arb_shader_draw_parameters/CMakeLists.txt |   1 +
>  tests/spec/arb_shader_draw_parameters/basevertex.c | 176 +
>  .../arb_shader_draw_parameters/drawid-indirect.c   | 216 
> +
>  tests/spec/arb_shader_draw_parameters/drawid.c | 173 +
>  7 files changed, 596 insertions(+)
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/basevertex.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid-indirect.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid.c
>
> diff --git a/tests/all.py b/tests/all.py
> index f61ff15..39cffbb 100644
> --- a/tests/all.py
> +++ b/tests/all.py
> @@ -4552,5 +4552,20 @@ with profile.group_manager(
>  for sample_count in (str(x) for x in MSAA_SAMPLE_COUNTS):
>  g(['ext_shader_samples_identical', sample_count])
>
> +# Group ARR_shader_draw_parameters
> +with profile.group_manager(
> +PiglitGLTest,
> +grouptools.join('spec', 'ARB_shader_draw_parameters')) as g:
> +g(['arb_shader_draw_parameters-drawid', 'drawid'], 'drawid')
> +g(['arb_shader_draw_parameters-drawid', 'vertexid'], 'drawid-vertexid')
> +g(['arb_shader_draw_parameters-basevertex', 'basevertex'], 'basevertex')
> +g(['arb_shader_draw_parameters-basevertex', 'baseinstance'], 
> 'baseinstance')
> +g(['arb_shader_draw_parameters-basevertex', 'basevertex-baseinstance'], 
> 'basevertex-baseinstance')
> +g(['arb_shader_draw_parameters-basevertex', 'vertexid-zerobased'], 
> 'vertexid-zerobased')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'drawid'], 
> 'drawid-indirect')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'basevertex'], 
> 'drawid-indirect-basevertex')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'], 
> 'drawid-indirect-baseinstance')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'vertexid'], 
> 'drawid-indirect-vertexid')
> +
>  if platform.system() is 'Windows':
>  profile.filter_tests(lambda p, _: not p.startswith('glx'))
> diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt
> index 57ac541..b499cd8 100644
> --- a/tests/spec/CMakeLists.txt
> +++ b/tests/spec/CMakeLists.txt
> @@ -139,3 +139,4 @@ add_subdirectory (ext_framebuffer_blit)
>  add_subdirectory (mesa_pack_invert)
>  add_subdirectory (ext_texture_format_bgra)
>  add_subdirectory (oes_draw_elements_base_vertex)
> +add_subdirectory (arb_shader_draw_parameters)
> diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt 
> b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
> new file mode 100644
> index 000..f711e2c
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
> @@ -0,0 +1,14 @@
> +include_directories(
> +   ${GLEXT_INCLUDE_DIR}
> +   ${OPENGL_INCLUDE_PATH}
> +   ${piglit_SOURCE_DIR}/tests/mesa/util
> +)
> +
> +link_libraries (
> +   piglitutil_${piglit_target_api}
> +   ${OPENGL_gl_LIBRARY}
> +)
> +
> +piglit_add_executable (arb_shader_draw_parameters-basevertex basevertex.c)
> +piglit_add_executable (arb_shader_draw_parameters-drawid drawid.c)
> +piglit_add_executable (arb_shader_draw_parameters-drawid-indirect 
> drawid-indirect.c)
> diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.txt 
> b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
> new file mode 100644
> index 000..144a306
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
> @@ -0,0 +1 @@
> +piglit_include_target_api()
> diff --git a/tests/spec/arb_shader_draw_parameters/basevertex.c 
> b/tests/spec/arb_shader_draw_parameters/basevertex.c
> new file mode 100644
> index 000..343c38c
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/basevertex.c
> @@ -0,0 +1,176 @@
> +/*
> + * Copyright © 2015 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:
> + *
> + 

Re: [Piglit] [PATCH] Add tests for GL_ARB_shader_draw_parameters

2015-12-17 Thread Serge Martin
On Wednesday 16 December 2015 16:17:30 Kristian Høgsberg wrote:
> From: Kristian Høgsberg Kristensen 
> 
> ---
> 
> v2: Fix copy-paste error in drawid-indirect-vertexid case.
> 
>  tests/all.py   |  15 ++
>  tests/spec/CMakeLists.txt  |   1 +
>  .../arb_shader_draw_parameters/CMakeLists.gl.txt   |  14 ++
>  .../spec/arb_shader_draw_parameters/CMakeLists.txt |   1 +
>  tests/spec/arb_shader_draw_parameters/basevertex.c | 176 +
>  .../arb_shader_draw_parameters/drawid-indirect.c   | 216
> + tests/spec/arb_shader_draw_parameters/drawid.c |
> 173 + 7 files changed, 596 insertions(+)
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/basevertex.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid-indirect.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid.c
> 
> diff --git a/tests/all.py b/tests/all.py
> index f61ff15..39cffbb 100644
> --- a/tests/all.py
> +++ b/tests/all.py
> @@ -4552,5 +4552,20 @@ with profile.group_manager(
>  for sample_count in (str(x) for x in MSAA_SAMPLE_COUNTS):
>  g(['ext_shader_samples_identical', sample_count])
> 
> +# Group ARR_shader_draw_parameters

# Group ARB_shader_draw_parameters

> +with profile.group_manager(
> +PiglitGLTest,
> +grouptools.join('spec', 'ARB_shader_draw_parameters')) as g:
> +g(['arb_shader_draw_parameters-drawid', 'drawid'], 'drawid')
> +g(['arb_shader_draw_parameters-drawid', 'vertexid'], 'drawid-vertexid')
> +g(['arb_shader_draw_parameters-basevertex', 'basevertex'],
> 'basevertex') +g(['arb_shader_draw_parameters-basevertex',
> 'baseinstance'], 'baseinstance') +   
> g(['arb_shader_draw_parameters-basevertex', 'basevertex-baseinstance'],
> 'basevertex-baseinstance') +g(['arb_shader_draw_parameters-basevertex',
> 'vertexid-zerobased'], 'vertexid-zerobased') +   
> g(['arb_shader_draw_parameters-drawid-indirect', 'drawid'],
> 'drawid-indirect') +g(['arb_shader_draw_parameters-drawid-indirect',
> 'basevertex'], 'drawid-indirect-basevertex') +   
> g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'],
> 'drawid-indirect-baseinstance') +   
> g(['arb_shader_draw_parameters-drawid-indirect', 'vertexid'],
> 'drawid-indirect-vertexid') +
>  if platform.system() is 'Windows':
>  profile.filter_tests(lambda p, _: not p.startswith('glx'))
> diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt
> index 57ac541..b499cd8 100644
> --- a/tests/spec/CMakeLists.txt
> +++ b/tests/spec/CMakeLists.txt
> @@ -139,3 +139,4 @@ add_subdirectory (ext_framebuffer_blit)
>  add_subdirectory (mesa_pack_invert)
>  add_subdirectory (ext_texture_format_bgra)
>  add_subdirectory (oes_draw_elements_base_vertex)
> +add_subdirectory (arb_shader_draw_parameters)
> diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
> b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt new file mode
> 100644
> index 000..f711e2c
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
> @@ -0,0 +1,14 @@
> +include_directories(
> + ${GLEXT_INCLUDE_DIR}
> + ${OPENGL_INCLUDE_PATH}
> + ${piglit_SOURCE_DIR}/tests/mesa/util
> +)
> +
> +link_libraries (
> + piglitutil_${piglit_target_api}
> + ${OPENGL_gl_LIBRARY}
> +)
> +
> +piglit_add_executable (arb_shader_draw_parameters-basevertex basevertex.c)
> +piglit_add_executable (arb_shader_draw_parameters-drawid drawid.c)
> +piglit_add_executable (arb_shader_draw_parameters-drawid-indirect
> drawid-indirect.c) diff --git
> a/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
> b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt new file mode 100644
> index 000..144a306
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
> @@ -0,0 +1 @@
> +piglit_include_target_api()
> diff --git a/tests/spec/arb_shader_draw_parameters/basevertex.c
> b/tests/spec/arb_shader_draw_parameters/basevertex.c new file mode 100644
> index 000..343c38c
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/basevertex.c
> @@ -0,0 +1,176 @@
> +/*
> + * Copyright © 2015 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 

Re: [Piglit] [PATCH] Add tests for GL_ARB_shader_draw_parameters

2015-12-16 Thread Kristian Høgsberg
On Wed, Dec 16, 2015 at 10:18 AM, Kristian Høgsberg  wrote:
> From: Kristian Høgsberg Kristensen 

Oops, disregard this one, sent it from the wrong repo.

Kristian

> ---
>  tests/spec/CMakeLists.txt  |   1 +
>  .../arb_shader_draw_parameters/CMakeLists.gl.txt   |  15 ++
>  .../spec/arb_shader_draw_parameters/CMakeLists.txt |   1 +
>  .../spec/arb_shader_draw_parameters/baseinstance.c | 164 
> +
>  tests/spec/arb_shader_draw_parameters/basevertex.c | 128 
>  .../arb_shader_draw_parameters/drawid-vertexid.c   | 164 
> +
>  tests/spec/arb_shader_draw_parameters/drawid.c | 161 
>  7 files changed, 634 insertions(+)
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/baseinstance.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/basevertex.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid-vertexid.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid.c
>
> diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt
> index 57b6878..4c519b1 100644
> --- a/tests/spec/CMakeLists.txt
> +++ b/tests/spec/CMakeLists.txt
> @@ -138,3 +138,4 @@ add_subdirectory (mesa_pack_invert)
>  add_subdirectory (ext_texture_format_bgra)
>  add_subdirectory (oes_draw_elements_base_vertex)
>  add_subdirectory (arb_query_buffer_object)
> +add_subdirectory (arb_shader_draw_parameters)
> diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt 
> b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
> new file mode 100644
> index 000..5396484
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
> @@ -0,0 +1,15 @@
> +include_directories(
> +   ${GLEXT_INCLUDE_DIR}
> +   ${OPENGL_INCLUDE_PATH}
> +   ${piglit_SOURCE_DIR}/tests/mesa/util
> +)
> +
> +link_libraries (
> +   piglitutil_${piglit_target_api}
> +   ${OPENGL_gl_LIBRARY}
> +)
> +
> +piglit_add_executable (basevertex basevertex.c)
> +piglit_add_executable (baseinstance baseinstance.c)
> +piglit_add_executable (drawid drawid.c)
> +piglit_add_executable (drawid-vertexid drawid-vertexid.c)
> diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.txt 
> b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
> new file mode 100644
> index 000..144a306
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
> @@ -0,0 +1 @@
> +piglit_include_target_api()
> diff --git a/tests/spec/arb_shader_draw_parameters/baseinstance.c 
> b/tests/spec/arb_shader_draw_parameters/baseinstance.c
> new file mode 100644
> index 000..17ccc36
> --- /dev/null
> +++ b/tests/spec/arb_shader_draw_parameters/baseinstance.c
> @@ -0,0 +1,164 @@
> +/*
> + * Copyright © 2011 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 baseinstance.c
> + *
> + * Test that gl_BaseInstanceARB has the correct values. Draw left side
> + * of window with a non-instanced draw call to verify
> + * gl_BaseInstanceARB is 0 in that case, then draw other half with
> + * base instance 7 and verifies that that works.
> + */
> +
> +#include "piglit-util-gl.h"
> +
> +PIGLIT_GL_TEST_CONFIG_BEGIN
> +
> +   config.supports_gl_core_version = 31;
> +   config.window_visual = PIGLIT_GL_VISUAL_RGBA | 
> PIGLIT_GL_VISUAL_DOUBLE;
> +
> +PIGLIT_GL_TEST_CONFIG_END
> +
> +static const char vs_text[] =
> +   "#version 330\n"
> +   "#extension GL_ARB_shader_draw_parameters: require\n"
> +   "\n"
> +   "/* This is floating point so we can use immediate mode */\n"
> +   "layout(location = 0) in vec2 pos;\n"
> +   

Re: [Piglit] [PATCH] Add tests for GL_ARB_shader_draw_parameters

2015-12-16 Thread Ilia Mirkin
On Wed, Dec 16, 2015 at 1:28 PM, Kristian Høgsberg  wrote:
> From: Kristian Høgsberg Kristensen 
>
> ---
>  tests/all.py   |  15 ++
>  tests/spec/CMakeLists.txt  |   1 +
>  .../arb_shader_draw_parameters/CMakeLists.gl.txt   |  14 ++
>  .../spec/arb_shader_draw_parameters/CMakeLists.txt |   1 +
>  tests/spec/arb_shader_draw_parameters/basevertex.c | 176 +
>  .../arb_shader_draw_parameters/drawid-indirect.c   | 216 
> +
>  tests/spec/arb_shader_draw_parameters/drawid.c | 173 +
>  7 files changed, 596 insertions(+)
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.txt
>  create mode 100644 tests/spec/arb_shader_draw_parameters/basevertex.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid-indirect.c
>  create mode 100644 tests/spec/arb_shader_draw_parameters/drawid.c
>
> diff --git a/tests/all.py b/tests/all.py
> index f61ff15..a5cd236 100644
> --- a/tests/all.py
> +++ b/tests/all.py
> @@ -4552,5 +4552,20 @@ with profile.group_manager(
>  for sample_count in (str(x) for x in MSAA_SAMPLE_COUNTS):
>  g(['ext_shader_samples_identical', sample_count])
>
> +# Group ARR_shader_draw_parameters
> +with profile.group_manager(
> +PiglitGLTest,
> +grouptools.join('spec', 'ARB_shader_draw_parameters')) as g:
> +g(['arb_shader_draw_parameters-drawid', 'drawid'], 'drawid')
> +g(['arb_shader_draw_parameters-drawid', 'vertexid'], 'drawid-vertexid')
> +g(['arb_shader_draw_parameters-basevertex', 'basevertex'], 'basevertex')
> +g(['arb_shader_draw_parameters-basevertex', 'baseinstance'], 
> 'baseinstance')
> +g(['arb_shader_draw_parameters-basevertex', 'basevertex-baseinstance'], 
> 'basevertex-baseinstance')
> +g(['arb_shader_draw_parameters-basevertex', 'vertexid-zerobased'], 
> 'vertexid-zerobased')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'drawid'], 
> 'drawid-indirect')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'basevertex'], 
> 'drawid-indirect-basevertex')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'], 
> 'drawid-indirect-baseinstance')
> +g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'], 
> 'drawid-indirect-vertexid')

Probably vertexid here?
___
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] Add tests for GL_ARB_shader_draw_parameters

2015-12-16 Thread Kristian Høgsberg
From: Kristian Høgsberg Kristensen 

---
 tests/all.py   |  15 ++
 tests/spec/CMakeLists.txt  |   1 +
 .../arb_shader_draw_parameters/CMakeLists.gl.txt   |  14 ++
 .../spec/arb_shader_draw_parameters/CMakeLists.txt |   1 +
 tests/spec/arb_shader_draw_parameters/basevertex.c | 176 +
 .../arb_shader_draw_parameters/drawid-indirect.c   | 216 +
 tests/spec/arb_shader_draw_parameters/drawid.c | 173 +
 7 files changed, 596 insertions(+)
 create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
 create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.txt
 create mode 100644 tests/spec/arb_shader_draw_parameters/basevertex.c
 create mode 100644 tests/spec/arb_shader_draw_parameters/drawid-indirect.c
 create mode 100644 tests/spec/arb_shader_draw_parameters/drawid.c

diff --git a/tests/all.py b/tests/all.py
index f61ff15..a5cd236 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -4552,5 +4552,20 @@ with profile.group_manager(
 for sample_count in (str(x) for x in MSAA_SAMPLE_COUNTS):
 g(['ext_shader_samples_identical', sample_count])
 
+# Group ARR_shader_draw_parameters
+with profile.group_manager(
+PiglitGLTest,
+grouptools.join('spec', 'ARB_shader_draw_parameters')) as g:
+g(['arb_shader_draw_parameters-drawid', 'drawid'], 'drawid')
+g(['arb_shader_draw_parameters-drawid', 'vertexid'], 'drawid-vertexid')
+g(['arb_shader_draw_parameters-basevertex', 'basevertex'], 'basevertex')
+g(['arb_shader_draw_parameters-basevertex', 'baseinstance'], 
'baseinstance')
+g(['arb_shader_draw_parameters-basevertex', 'basevertex-baseinstance'], 
'basevertex-baseinstance')
+g(['arb_shader_draw_parameters-basevertex', 'vertexid-zerobased'], 
'vertexid-zerobased')
+g(['arb_shader_draw_parameters-drawid-indirect', 'drawid'], 
'drawid-indirect')
+g(['arb_shader_draw_parameters-drawid-indirect', 'basevertex'], 
'drawid-indirect-basevertex')
+g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'], 
'drawid-indirect-baseinstance')
+g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'], 
'drawid-indirect-vertexid')
+
 if platform.system() is 'Windows':
 profile.filter_tests(lambda p, _: not p.startswith('glx'))
diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt
index 57ac541..b499cd8 100644
--- a/tests/spec/CMakeLists.txt
+++ b/tests/spec/CMakeLists.txt
@@ -139,3 +139,4 @@ add_subdirectory (ext_framebuffer_blit)
 add_subdirectory (mesa_pack_invert)
 add_subdirectory (ext_texture_format_bgra)
 add_subdirectory (oes_draw_elements_base_vertex)
+add_subdirectory (arb_shader_draw_parameters)
diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt 
b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
new file mode 100644
index 000..f711e2c
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
@@ -0,0 +1,14 @@
+include_directories(
+   ${GLEXT_INCLUDE_DIR}
+   ${OPENGL_INCLUDE_PATH}
+   ${piglit_SOURCE_DIR}/tests/mesa/util
+)
+
+link_libraries (
+   piglitutil_${piglit_target_api}
+   ${OPENGL_gl_LIBRARY}
+)
+
+piglit_add_executable (arb_shader_draw_parameters-basevertex basevertex.c)
+piglit_add_executable (arb_shader_draw_parameters-drawid drawid.c)
+piglit_add_executable (arb_shader_draw_parameters-drawid-indirect 
drawid-indirect.c)
diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.txt 
b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
new file mode 100644
index 000..144a306
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
@@ -0,0 +1 @@
+piglit_include_target_api()
diff --git a/tests/spec/arb_shader_draw_parameters/basevertex.c 
b/tests/spec/arb_shader_draw_parameters/basevertex.c
new file mode 100644
index 000..343c38c
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/basevertex.c
@@ -0,0 +1,176 @@
+/*
+ * Copyright © 2015 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 

[Piglit] [PATCH] Add tests for GL_ARB_shader_draw_parameters

2015-12-16 Thread Kristian Høgsberg
From: Kristian Høgsberg Kristensen 

---
 tests/spec/CMakeLists.txt  |   1 +
 .../arb_shader_draw_parameters/CMakeLists.gl.txt   |  15 ++
 .../spec/arb_shader_draw_parameters/CMakeLists.txt |   1 +
 .../spec/arb_shader_draw_parameters/baseinstance.c | 164 +
 tests/spec/arb_shader_draw_parameters/basevertex.c | 128 
 .../arb_shader_draw_parameters/drawid-vertexid.c   | 164 +
 tests/spec/arb_shader_draw_parameters/drawid.c | 161 
 7 files changed, 634 insertions(+)
 create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
 create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.txt
 create mode 100644 tests/spec/arb_shader_draw_parameters/baseinstance.c
 create mode 100644 tests/spec/arb_shader_draw_parameters/basevertex.c
 create mode 100644 tests/spec/arb_shader_draw_parameters/drawid-vertexid.c
 create mode 100644 tests/spec/arb_shader_draw_parameters/drawid.c

diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt
index 57b6878..4c519b1 100644
--- a/tests/spec/CMakeLists.txt
+++ b/tests/spec/CMakeLists.txt
@@ -138,3 +138,4 @@ add_subdirectory (mesa_pack_invert)
 add_subdirectory (ext_texture_format_bgra)
 add_subdirectory (oes_draw_elements_base_vertex)
 add_subdirectory (arb_query_buffer_object)
+add_subdirectory (arb_shader_draw_parameters)
diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt 
b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
new file mode 100644
index 000..5396484
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
@@ -0,0 +1,15 @@
+include_directories(
+   ${GLEXT_INCLUDE_DIR}
+   ${OPENGL_INCLUDE_PATH}
+   ${piglit_SOURCE_DIR}/tests/mesa/util
+)
+
+link_libraries (
+   piglitutil_${piglit_target_api}
+   ${OPENGL_gl_LIBRARY}
+)
+
+piglit_add_executable (basevertex basevertex.c)
+piglit_add_executable (baseinstance baseinstance.c)
+piglit_add_executable (drawid drawid.c)
+piglit_add_executable (drawid-vertexid drawid-vertexid.c)
diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.txt 
b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
new file mode 100644
index 000..144a306
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
@@ -0,0 +1 @@
+piglit_include_target_api()
diff --git a/tests/spec/arb_shader_draw_parameters/baseinstance.c 
b/tests/spec/arb_shader_draw_parameters/baseinstance.c
new file mode 100644
index 000..17ccc36
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/baseinstance.c
@@ -0,0 +1,164 @@
+/*
+ * Copyright © 2011 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 baseinstance.c
+ *
+ * Test that gl_BaseInstanceARB has the correct values. Draw left side
+ * of window with a non-instanced draw call to verify
+ * gl_BaseInstanceARB is 0 in that case, then draw other half with
+ * base instance 7 and verifies that that works.
+ */
+
+#include "piglit-util-gl.h"
+
+PIGLIT_GL_TEST_CONFIG_BEGIN
+
+   config.supports_gl_core_version = 31;
+   config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+
+PIGLIT_GL_TEST_CONFIG_END
+
+static const char vs_text[] =
+   "#version 330\n"
+   "#extension GL_ARB_shader_draw_parameters: require\n"
+   "\n"
+   "/* This is floating point so we can use immediate mode */\n"
+   "layout(location = 0) in vec2 pos;\n"
+   "layout(location = 1) in vec4 in_color;\n"
+   "out vec4 color;\n"
+   "\n"
+   "void main()\n"
+   "{\n"
+   "  gl_Position = vec4(pos, 0.0, 1.0);\n"
+   "  color = vec4(equal(vec4(gl_BaseInstanceARB), in_color));\n"
+   "}\n";
+
+static const char fs_text[] =
+   "#version 130\n"
+   "\n"
+   "in vec4 color;\n"
+   "\n"
+   "void 

[Piglit] [PATCH] Add tests for GL_ARB_shader_draw_parameters

2015-12-16 Thread Kristian Høgsberg
From: Kristian Høgsberg Kristensen 

---

v2: Fix copy-paste error in drawid-indirect-vertexid case.

 tests/all.py   |  15 ++
 tests/spec/CMakeLists.txt  |   1 +
 .../arb_shader_draw_parameters/CMakeLists.gl.txt   |  14 ++
 .../spec/arb_shader_draw_parameters/CMakeLists.txt |   1 +
 tests/spec/arb_shader_draw_parameters/basevertex.c | 176 +
 .../arb_shader_draw_parameters/drawid-indirect.c   | 216 +
 tests/spec/arb_shader_draw_parameters/drawid.c | 173 +
 7 files changed, 596 insertions(+)
 create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
 create mode 100644 tests/spec/arb_shader_draw_parameters/CMakeLists.txt
 create mode 100644 tests/spec/arb_shader_draw_parameters/basevertex.c
 create mode 100644 tests/spec/arb_shader_draw_parameters/drawid-indirect.c
 create mode 100644 tests/spec/arb_shader_draw_parameters/drawid.c

diff --git a/tests/all.py b/tests/all.py
index f61ff15..39cffbb 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -4552,5 +4552,20 @@ with profile.group_manager(
 for sample_count in (str(x) for x in MSAA_SAMPLE_COUNTS):
 g(['ext_shader_samples_identical', sample_count])
 
+# Group ARR_shader_draw_parameters
+with profile.group_manager(
+PiglitGLTest,
+grouptools.join('spec', 'ARB_shader_draw_parameters')) as g:
+g(['arb_shader_draw_parameters-drawid', 'drawid'], 'drawid')
+g(['arb_shader_draw_parameters-drawid', 'vertexid'], 'drawid-vertexid')
+g(['arb_shader_draw_parameters-basevertex', 'basevertex'], 'basevertex')
+g(['arb_shader_draw_parameters-basevertex', 'baseinstance'], 
'baseinstance')
+g(['arb_shader_draw_parameters-basevertex', 'basevertex-baseinstance'], 
'basevertex-baseinstance')
+g(['arb_shader_draw_parameters-basevertex', 'vertexid-zerobased'], 
'vertexid-zerobased')
+g(['arb_shader_draw_parameters-drawid-indirect', 'drawid'], 
'drawid-indirect')
+g(['arb_shader_draw_parameters-drawid-indirect', 'basevertex'], 
'drawid-indirect-basevertex')
+g(['arb_shader_draw_parameters-drawid-indirect', 'baseinstance'], 
'drawid-indirect-baseinstance')
+g(['arb_shader_draw_parameters-drawid-indirect', 'vertexid'], 
'drawid-indirect-vertexid')
+
 if platform.system() is 'Windows':
 profile.filter_tests(lambda p, _: not p.startswith('glx'))
diff --git a/tests/spec/CMakeLists.txt b/tests/spec/CMakeLists.txt
index 57ac541..b499cd8 100644
--- a/tests/spec/CMakeLists.txt
+++ b/tests/spec/CMakeLists.txt
@@ -139,3 +139,4 @@ add_subdirectory (ext_framebuffer_blit)
 add_subdirectory (mesa_pack_invert)
 add_subdirectory (ext_texture_format_bgra)
 add_subdirectory (oes_draw_elements_base_vertex)
+add_subdirectory (arb_shader_draw_parameters)
diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt 
b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
new file mode 100644
index 000..f711e2c
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.gl.txt
@@ -0,0 +1,14 @@
+include_directories(
+   ${GLEXT_INCLUDE_DIR}
+   ${OPENGL_INCLUDE_PATH}
+   ${piglit_SOURCE_DIR}/tests/mesa/util
+)
+
+link_libraries (
+   piglitutil_${piglit_target_api}
+   ${OPENGL_gl_LIBRARY}
+)
+
+piglit_add_executable (arb_shader_draw_parameters-basevertex basevertex.c)
+piglit_add_executable (arb_shader_draw_parameters-drawid drawid.c)
+piglit_add_executable (arb_shader_draw_parameters-drawid-indirect 
drawid-indirect.c)
diff --git a/tests/spec/arb_shader_draw_parameters/CMakeLists.txt 
b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
new file mode 100644
index 000..144a306
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/CMakeLists.txt
@@ -0,0 +1 @@
+piglit_include_target_api()
diff --git a/tests/spec/arb_shader_draw_parameters/basevertex.c 
b/tests/spec/arb_shader_draw_parameters/basevertex.c
new file mode 100644
index 000..343c38c
--- /dev/null
+++ b/tests/spec/arb_shader_draw_parameters/basevertex.c
@@ -0,0 +1,176 @@
+/*
+ * Copyright © 2015 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