Re: [Piglit] [PATCH] glsl-1.10: add some preprocessor stringification tests

2018-08-28 Thread Ian Romanick
Reviewed-by: Ian Romanick 

On 08/28/2018 06:33 PM, Timothy Arceri wrote:
> From Section 3.3. (Preprocessor) of the GLSL 4.60 spec:
> 
> "The following operators are also available:
> defined
> ##
> ...
> 
> Any directive not listed above will cause a compile-time error."
> ---
>  .../stringification-in-unreachable-branch.frag   | 12 
>  .../compiler/preprocessor/stringification.frag   | 10 ++
>  2 files changed, 22 insertions(+)
>  create mode 100644 
> tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
>  create mode 100644 
> tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag
> 
> diff --git 
> a/tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
>  
> b/tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
> new file mode 100644
> index 0..32b1798b8
> --- /dev/null
> +++ 
> b/tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
> @@ -0,0 +1,12 @@
> +// [config]
> +// expect_result: pass
> +// glsl_version: 1.10
> +// [end config]
> +
> +#version 110
> +
> +#ifdef this_is_undefined
> +#define VEC4_STRING_PARAM(a, b, c, d) vec4(#a, #b, c, d)
> +#endif
> +
> +void main() { }
> diff --git a/tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag 
> b/tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag
> new file mode 100644
> index 0..617ad102d
> --- /dev/null
> +++ b/tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag
> @@ -0,0 +1,10 @@
> +// [config]
> +// expect_result: fail
> +// glsl_version: 1.10
> +// [end config]
> +
> +#version 110
> +
> +#define VEC4_STRING_PARAM(a, b, c, d) vec4(#a, #b, c, d)
> +
> +void main() { }
> 

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] glsl-1.10: add some preprocessor stringification tests

2018-08-28 Thread Timothy Arceri
From Section 3.3. (Preprocessor) of the GLSL 4.60 spec:

"The following operators are also available:
defined
##
...

Any directive not listed above will cause a compile-time error."
---
 .../stringification-in-unreachable-branch.frag   | 12 
 .../compiler/preprocessor/stringification.frag   | 10 ++
 2 files changed, 22 insertions(+)
 create mode 100644 
tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
 create mode 100644 
tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag

diff --git 
a/tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
 
b/tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
new file mode 100644
index 0..32b1798b8
--- /dev/null
+++ 
b/tests/spec/glsl-1.10/compiler/preprocessor/stringification-in-unreachable-branch.frag
@@ -0,0 +1,12 @@
+// [config]
+// expect_result: pass
+// glsl_version: 1.10
+// [end config]
+
+#version 110
+
+#ifdef this_is_undefined
+#define VEC4_STRING_PARAM(a, b, c, d) vec4(#a, #b, c, d)
+#endif
+
+void main() { }
diff --git a/tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag 
b/tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag
new file mode 100644
index 0..617ad102d
--- /dev/null
+++ b/tests/spec/glsl-1.10/compiler/preprocessor/stringification.frag
@@ -0,0 +1,10 @@
+// [config]
+// expect_result: fail
+// glsl_version: 1.10
+// [end config]
+
+#version 110
+
+#define VEC4_STRING_PARAM(a, b, c, d) vec4(#a, #b, c, d)
+
+void main() { }
-- 
2.17.1

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] arb_tessellation_shader: add GL_EXT_shader_integer_mix on [require]

2018-08-28 Thread Ian Romanick
Reviewed-by: Ian Romanick 

On 08/24/2018 03:57 AM, Alejandro Piñeiro wrote:
> Needed by the tessellation evaluation shader.
> ---
>  .../tes-patch-input-array-vec2-index-invalid-rd.shader_test  | 1 
> +
>  1 file changed, 1 insertion(+)
> 
> diff --git 
> a/tests/spec/arb_tessellation_shader/execution/variable-indexing/tes-patch-input-array-vec2-index-invalid-rd.shader_test
>  
> b/tests/spec/arb_tessellation_shader/execution/variable-indexing/tes-patch-input-array-vec2-index-invalid-rd.shader_test
> index 06c375d40..7bfd87b9b 100644
> --- 
> a/tests/spec/arb_tessellation_shader/execution/variable-indexing/tes-patch-input-array-vec2-index-invalid-rd.shader_test
> +++ 
> b/tests/spec/arb_tessellation_shader/execution/variable-indexing/tes-patch-input-array-vec2-index-invalid-rd.shader_test
> @@ -1,6 +1,7 @@
>  [require]
>  GLSL >= 1.50
>  GL_ARB_tessellation_shader
> +GL_EXT_shader_integer_mix
>  
>  [vertex shader]
>  #version 150
> 

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] glx: Fix make-current

2018-08-28 Thread Ian Romanick
I'm not even sure what you're trying to fix.  As far as I can tell, that
test is making a perfectly valid sequence of calls.  If a particular
driver fails on that, it is a bug in the driver.

On 08/25/2018 12:29 PM, Ernestas Kulik wrote:
> Actually, scratch that, I must have been high when I wrote the commit
> message.
> 
> Even though the fix for BadMatch is probably correct, glClear() is
> obviously called for both drawables, but switching them between drawing
> and reading seems to result in discarded framebuffers or somesuch (in
> i965 they are straight up null, unlike swrast, but the issue manifests
> there as well).
> 
> ___
> Piglit mailing list
> Piglit@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH 2/2] arb_fragment_shader_interlock: Additional compile tests

2018-08-28 Thread Ian Romanick
From: Ian Romanick 

The negative tests in this group require some inference from various
specs.  A spec bug has been submitted against the
GL_ARB_fragment_shader_interlock spec.

Currently none of the negative tests produce the expected result on
Mesa.

Signed-off-by: Ian Romanick 
---
 .../beginInvocationInterlock-after-discard.frag| 27 +++
 .../beginInvocationInterlock-after-return.frag | 51 +
 .../beginInvocationInterlock-inside-do-while.frag  | 49 
 .../beginInvocationInterlock-inside-for.frag   | 50 +
 .../beginInvocationInterlock-inside-if.frag| 48 
 ...vocationInterlock-inside-non-main-function.frag | 51 +
 .../beginInvocationInterlock-inside-while.frag | 49 
 .../endInvocationInterlock-after-discard.frag  | 28 
 .../endInvocationInterlock-after-return.frag   | 52 ++
 .../endInvocationInterlock-inside-do-while.frag| 49 
 .../endInvocationInterlock-inside-for.frag | 50 +
 .../compiler/endInvocationInterlock-inside-if.frag | 48 
 ...vocationInterlock-inside-non-main-function.frag | 51 +
 .../endInvocationInterlock-inside-while.frag   | 50 +
 14 files changed, 653 insertions(+)
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-discard.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-return.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-inside-do-while.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-inside-for.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-inside-if.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-inside-non-main-function.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-inside-while.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-after-discard.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-after-return.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-inside-do-while.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-inside-for.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-inside-if.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-inside-non-main-function.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-inside-while.frag

diff --git 
a/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-discard.frag
 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-discard.frag
new file mode 100644
index 0..1c74fa49c
--- /dev/null
+++ 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-discard.frag
@@ -0,0 +1,27 @@
+// [config]
+// expect_result: pass
+// glsl_version: 4.20
+// require_extensions: GL_ARB_fragment_shader_interlock
+// [end config]
+
+/* The GL_ARB_fragment_shader_interlock spec says:
+ *
+ *The beginInvocationInterlockARB() and endInvocationInterlockARB() may
+ *only be placed inside the function main() of a fragment shader and may
+ *not be called within any flow control.  These functions may not be
+ *called after a return statement in the function main(), but may be
+ *called after a discard statement.
+ */
+#version 420
+#extension GL_ARB_fragment_shader_interlock: require
+
+in float f;
+
+void main()
+{
+   if (f < 0.5)
+   discard;
+
+   beginInvocationInterlockARB();
+   endInvocationInterlockARB();
+}
diff --git 
a/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-return.frag
 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-return.frag
new file mode 100644
index 0..29493ff9e
--- /dev/null
+++ 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-after-return.frag
@@ -0,0 +1,51 @@
+// [config]
+// expect_result: fail
+// glsl_version: 4.20
+// require_extensions: GL_ARB_fragment_shader_interlock
+// check_link: false
+// [end config]
+
+/* The GL_ARB_fragment_shader_interlock spec says:
+ *
+ *The beginInvocationInterlockARB() and endInvocationInterlockARB() may
+ *only be placed inside the function main() of a fragment shader and may
+ *not be called within any flow control.  These functions may not be
+ *  

Re: [Piglit] [PATCH] ext_render_snorm-render: fix read back assumptions

2018-08-28 Thread Nanley Chery
On Tue, Aug 28, 2018 at 09:58:14AM +0300, Tapani Pälli wrote:
> Test assumed that we can read back directly from R8, RG8 fbo but
> this is not actually enabled by the extension. Patch introduces
> additional read from window to sanity check fbo contents.
> 

I think we're allowed to read from R8 and RG8 SNORM FBOs. Page 340 of
the GLES 3.1 spec says that apps can query the driver to find out which
formats are supported for ReadPixels:

   The second is an implementation-chosen format from among those
   defined in table 8.2, excluding formats DEPTH_COMPONENT and
   DEPTH_STENCIL. The values of format and type for this format may be
   determined by calling GetIntegerv with the symbolic constants
   IMPLEMENTATION_COLOR_READ_FORMAT and IMPLEMENTATION_COLOR_READ_TYPE,
   respectively. The implementation-chosen format may vary depending on
   the format of the selected read buffer of the currently bound read
   framebuffer.

Table 8.2 has entries for R8 and RG8 SNORM.

-Nanley

> Signed-off-by: Tapani Pälli 
> ---
>  tests/spec/ext_render_snorm/render.c | 32 
>  1 file changed, 28 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/spec/ext_render_snorm/render.c 
> b/tests/spec/ext_render_snorm/render.c
> index 1d4a69c2d..ad309f17c 100644
> --- a/tests/spec/ext_render_snorm/render.c
> +++ b/tests/spec/ext_render_snorm/render.c
> @@ -82,10 +82,11 @@ static const struct fmt_test {
>   GLenum iformat;
>   GLenum base_format;
>   unsigned bpp;
> + bool can_read;
>  } tests[] = {
> - { GL_R8_SNORM,  GL_RED, 1, },
> - { GL_RG8_SNORM, GL_RG,  2, },
> - { GL_RGBA8_SNORM,   GL_RGBA,4, },
> + { GL_R8_SNORM,  GL_RED, 1,  false },
> + { GL_RG8_SNORM, GL_RG,  2,  false },
> + { GL_RGBA8_SNORM,   GL_RGBA,4,  true  },
>  };
>  
>  static GLuint prog;
> @@ -229,6 +230,25 @@ verify_contents(const struct fmt_test *test)
>   return result;
>  }
>  
> +static bool
> +verify_contents_float(const struct fmt_test *test)
> +{
> + /* Setup expected value, alpha is always max in the test. */
> + char value[4] = { 0, 0, 0, SCHAR_MAX };
> + value_for_format(test, value);
> +
> + const float expected[4] = {
> + value[0] / SCHAR_MAX,
> + value[1] / SCHAR_MAX,
> + value[2] / SCHAR_MAX,
> + value[3] / SCHAR_MAX,
> + };
> +
> + bool res = piglit_probe_rect_rgba(0, 0, piglit_width, piglit_height,
> +   expected);
> + return res;
> +}
> +
>  static bool
>  test_format(const struct fmt_test *test)
>  {
> @@ -282,13 +302,17 @@ test_format(const struct fmt_test *test)
>   glDeleteTextures(1, _tex);
>  
>   /* Verify contents. */
> - pass &= verify_contents(test);
> + if (test->can_read)
> + pass &= verify_contents(test);
>  
>   glDeleteFramebuffers(1, );
>  
>   /* Render fbo contents to window. */
>   render_texture(fbo_tex, GL_TEXTURE_2D, 0);
>  
> + /* Verify window contents. */
> + pass &= verify_contents_float(test);
> +
>   piglit_present_results();
>  
>   glDeleteTextures(1, _tex);
> -- 
> 2.14.4
> 
> ___
> Piglit mailing list
> Piglit@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] arb_fragment_shader_interlock: Simple compiler tests

2018-08-28 Thread Ian Romanick
From: Ian Romanick 

Currently none of the negative tests produce the expected result on
Mesa.  There are other cases called out by the spec as things you cannot
do, but it's not clear what the expected result is in those cases
(compile- or link-time error, undefined rendering, GPU hang, house fire,
etc.).

Signed-off-by: Ian Romanick 
---
 ...InvocationInterlock-endInvocationInterlock.frag | 15 ++
 .../compiler/beginInvocationInterlock-twice.frag   | 23 ++
 ...nInterlock-before-beginInvocationInterlock.frag | 22 +
 .../compiler/endInvocationInterlock-twice.frag | 23 ++
 4 files changed, 83 insertions(+)
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-endInvocationInterlock.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-twice.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-before-beginInvocationInterlock.frag
 create mode 100644 
tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-twice.frag

diff --git 
a/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-endInvocationInterlock.frag
 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-endInvocationInterlock.frag
new file mode 100644
index 0..c2e948e25
--- /dev/null
+++ 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-endInvocationInterlock.frag
@@ -0,0 +1,15 @@
+// [config]
+// expect_result: pass
+// glsl_version: 4.20
+// require_extensions: GL_ARB_fragment_shader_interlock
+// check_link: true
+// [end config]
+
+#version 420
+#extension GL_ARB_fragment_shader_interlock: require
+
+void main()
+{
+   beginInvocationInterlockARB();
+   endInvocationInterlockARB();
+}
diff --git 
a/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-twice.frag
 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-twice.frag
new file mode 100644
index 0..52364ea12
--- /dev/null
+++ 
b/tests/spec/arb_fragment_shader_interlock/compiler/beginInvocationInterlock-twice.frag
@@ -0,0 +1,23 @@
+// [config]
+// expect_result: fail
+// glsl_version: 4.20
+// require_extensions: GL_ARB_fragment_shader_interlock
+// check_link: true
+// [end config]
+
+/* The GL_ARB_fragment_shader_interlock spec says:
+ *
+ *A compile- or link-time error will be generated if main() calls either
+ *function more than once, contains a call to one function without a
+ *matching call to the other, or calls endInvocationInterlockARB() before
+ *calling beginInvocationInterlockARB().
+ */
+#version 420
+#extension GL_ARB_fragment_shader_interlock: require
+
+void main()
+{
+   beginInvocationInterlockARB();
+   beginInvocationInterlockARB();
+   endInvocationInterlockARB();
+}
diff --git 
a/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-before-beginInvocationInterlock.frag
 
b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-before-beginInvocationInterlock.frag
new file mode 100644
index 0..9860050d0
--- /dev/null
+++ 
b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-before-beginInvocationInterlock.frag
@@ -0,0 +1,22 @@
+// [config]
+// expect_result: fail
+// glsl_version: 4.20
+// require_extensions: GL_ARB_fragment_shader_interlock
+// check_link: true
+// [end config]
+
+/* The GL_ARB_fragment_shader_interlock spec says:
+ *
+ *A compile- or link-time error will be generated if main() calls either
+ *function more than once, contains a call to one function without a
+ *matching call to the other, or calls endInvocationInterlockARB() before
+ *calling beginInvocationInterlockARB().
+ */
+#version 420
+#extension GL_ARB_fragment_shader_interlock: require
+
+void main()
+{
+   endInvocationInterlockARB();
+   beginInvocationInterlockARB();
+}
diff --git 
a/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-twice.frag
 
b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-twice.frag
new file mode 100644
index 0..4ac44f38c
--- /dev/null
+++ 
b/tests/spec/arb_fragment_shader_interlock/compiler/endInvocationInterlock-twice.frag
@@ -0,0 +1,23 @@
+// [config]
+// expect_result: fail
+// glsl_version: 4.20
+// require_extensions: GL_ARB_fragment_shader_interlock
+// check_link: true
+// [end config]
+
+/* The GL_ARB_fragment_shader_interlock spec says:
+ *
+ *A compile- or link-time error will be generated if main() calls either
+ *function more than once, contains a call to one function without a
+ *matching call to the other, or calls endInvocationInterlockARB() before
+ *calling beginInvocationInterlockARB().
+ */
+#version 420
+#extension GL_ARB_fragment_shader_interlock: require
+
+void main()
+{
+   

Re: [Piglit] [PATCH] Cmake: Install shader_source files

2018-08-28 Thread Dylan Baker
Quoting Mark Janes (2018-08-28 11:38:30)
> Reviewed-by: Mark Janes 
> Tested-by: Mark Janes 
> 
> Dylan Baker  writes:
> 
> > Otherwise these tests fail in odd ways when running from an installed
> > instance.
> >
> > Cc: Alejandro Piñeiro 
> > Cc: Mark Janes 
> > Cc: Clayton Craft 
> > ---
> >  CMakeLists.txt | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/CMakeLists.txt b/CMakeLists.txt
> > index 8f19457fc..596870b9b 100644
> > --- a/CMakeLists.txt
> > +++ b/CMakeLists.txt
> > @@ -537,7 +537,7 @@ install (
> >  install (
> >   DIRECTORY tests
> >   DESTINATION ${PIGLIT_INSTALL_LIBDIR}
> > - FILES_MATCHING REGEX 
> > ".*\\.(xml|xml.gz|py|program_test|shader_test|frag|vert|geom|tesc|tese|comp|ktx|cl|txt|inc)$"
> > + FILES_MATCHING REGEX 
> > ".*\\.(xml|xml.gz|py|program_test|shader_test|shader_source|frag|vert|geom|tesc|tese|comp|ktx|cl|txt|inc)$"
> >   REGEX 
> > "CMakeFiles|CMakeLists|serializer.py|opengl.py|cl.py|quick_gl.py|glslparser.py|shader.py|quick_shader.py|no_error.py|llvmpipe_gl.py|sanity.py"
> >  EXCLUDE
> >  )
> >  
> > -- 
> > 2.18.0

Pushed.


signature.asc
Description: signature
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] Cmake: Install shader_source files

2018-08-28 Thread Mark Janes
Reviewed-by: Mark Janes 
Tested-by: Mark Janes 

Dylan Baker  writes:

> Otherwise these tests fail in odd ways when running from an installed
> instance.
>
> Cc: Alejandro Piñeiro 
> Cc: Mark Janes 
> Cc: Clayton Craft 
> ---
>  CMakeLists.txt | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/CMakeLists.txt b/CMakeLists.txt
> index 8f19457fc..596870b9b 100644
> --- a/CMakeLists.txt
> +++ b/CMakeLists.txt
> @@ -537,7 +537,7 @@ install (
>  install (
>   DIRECTORY tests
>   DESTINATION ${PIGLIT_INSTALL_LIBDIR}
> - FILES_MATCHING REGEX 
> ".*\\.(xml|xml.gz|py|program_test|shader_test|frag|vert|geom|tesc|tese|comp|ktx|cl|txt|inc)$"
> + FILES_MATCHING REGEX 
> ".*\\.(xml|xml.gz|py|program_test|shader_test|shader_source|frag|vert|geom|tesc|tese|comp|ktx|cl|txt|inc)$"
>   REGEX 
> "CMakeFiles|CMakeLists|serializer.py|opengl.py|cl.py|quick_gl.py|glslparser.py|shader.py|quick_shader.py|no_error.py|llvmpipe_gl.py|sanity.py"
>  EXCLUDE
>  )
>  
> -- 
> 2.18.0
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] Cmake: Install shader_source files

2018-08-28 Thread Dylan Baker
Otherwise these tests fail in odd ways when running from an installed
instance.

Cc: Alejandro Piñeiro 
Cc: Mark Janes 
Cc: Clayton Craft 
---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8f19457fc..596870b9b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -537,7 +537,7 @@ install (
 install (
DIRECTORY tests
DESTINATION ${PIGLIT_INSTALL_LIBDIR}
-   FILES_MATCHING REGEX 
".*\\.(xml|xml.gz|py|program_test|shader_test|frag|vert|geom|tesc|tese|comp|ktx|cl|txt|inc)$"
+   FILES_MATCHING REGEX 
".*\\.(xml|xml.gz|py|program_test|shader_test|shader_source|frag|vert|geom|tesc|tese|comp|ktx|cl|txt|inc)$"
REGEX 
"CMakeFiles|CMakeLists|serializer.py|opengl.py|cl.py|quick_gl.py|glslparser.py|shader.py|quick_shader.py|no_error.py|llvmpipe_gl.py|sanity.py"
 EXCLUDE
 )
 
-- 
2.18.0

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] glsl-1.30: add linker test for inter stage in/out vars usage

2018-08-28 Thread Vadim Shovkoplias
Hi Timothy,

Thanks for the review! Can you please push this patch ?

вт, 28 авг. 2018 г. в 3:45, Timothy Arceri :

> Reviewed-by: Timothy Arceri 
>
> On 27/08/18 22:19, Vadym Shovkoplias wrote:
> > This test exposes a Mesa GLSL linker bug. The test fails with the
> > following error message:
> >
> > error: fragment shader input `foo' has no matching output in the
> previous
> >stage
> >
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105731
> > Signed-off-by: Vadym Shovkoplias 
> > ---
> >   ...rstage-multiple-vertex-objects.shader_test | 33 +++
> >   1 file changed, 33 insertions(+)
> >   create mode 100644
> tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test
> >
> > diff --git
> a/tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test
> b/tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test
> > new file mode 100644
> > index 0..dd168d434
> > --- /dev/null
> > +++
> b/tests/spec/glsl-1.30/linker/interstage-multiple-vertex-objects.shader_test
> > @@ -0,0 +1,33 @@
> > +# Exercises a Mesa GLSL linker bug.
> > +#
> > +# Output "foo" variable is not used in the "main" vertex shader
> > +# but used in fragment shader
> > +
> > +[require]
> > +GLSL >= 1.30
> > +
> > +[vertex shader]
> > +out vec4 foo;
> > +void unused()
> > +{
> > +foo=vec4(1);
> > +}
> > +
> > +[vertex shader]
> > +in vec4 pos;
> > +void main()
> > +{
> > +gl_Position = pos;
> > +}
> > +
> > +[fragment shader]
> > +in vec4 foo;
> > +out vec4 color;
> > +
> > +void main()
> > +{
> > +gl_FragColor=foo;
> > +}
> > +
> > +[test]
> > +link success
> >
>
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] ext_render_snorm-render: fix read back assumptions

2018-08-28 Thread Tapani Pälli
Test assumed that we can read back directly from R8, RG8 fbo but
this is not actually enabled by the extension. Patch introduces
additional read from window to sanity check fbo contents.

Signed-off-by: Tapani Pälli 
---
 tests/spec/ext_render_snorm/render.c | 32 
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/tests/spec/ext_render_snorm/render.c 
b/tests/spec/ext_render_snorm/render.c
index 1d4a69c2d..ad309f17c 100644
--- a/tests/spec/ext_render_snorm/render.c
+++ b/tests/spec/ext_render_snorm/render.c
@@ -82,10 +82,11 @@ static const struct fmt_test {
GLenum iformat;
GLenum base_format;
unsigned bpp;
+   bool can_read;
 } tests[] = {
-   { GL_R8_SNORM,  GL_RED, 1, },
-   { GL_RG8_SNORM, GL_RG,  2, },
-   { GL_RGBA8_SNORM,   GL_RGBA,4, },
+   { GL_R8_SNORM,  GL_RED, 1,  false },
+   { GL_RG8_SNORM, GL_RG,  2,  false },
+   { GL_RGBA8_SNORM,   GL_RGBA,4,  true  },
 };
 
 static GLuint prog;
@@ -229,6 +230,25 @@ verify_contents(const struct fmt_test *test)
return result;
 }
 
+static bool
+verify_contents_float(const struct fmt_test *test)
+{
+   /* Setup expected value, alpha is always max in the test. */
+   char value[4] = { 0, 0, 0, SCHAR_MAX };
+   value_for_format(test, value);
+
+   const float expected[4] = {
+   value[0] / SCHAR_MAX,
+   value[1] / SCHAR_MAX,
+   value[2] / SCHAR_MAX,
+   value[3] / SCHAR_MAX,
+   };
+
+   bool res = piglit_probe_rect_rgba(0, 0, piglit_width, piglit_height,
+ expected);
+   return res;
+}
+
 static bool
 test_format(const struct fmt_test *test)
 {
@@ -282,13 +302,17 @@ test_format(const struct fmt_test *test)
glDeleteTextures(1, _tex);
 
/* Verify contents. */
-   pass &= verify_contents(test);
+   if (test->can_read)
+   pass &= verify_contents(test);
 
glDeleteFramebuffers(1, );
 
/* Render fbo contents to window. */
render_texture(fbo_tex, GL_TEXTURE_2D, 0);
 
+   /* Verify window contents. */
+   pass &= verify_contents_float(test);
+
piglit_present_results();
 
glDeleteTextures(1, _tex);
-- 
2.14.4

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit