Re: [Piglit] [PATCH] glx-oml-sync-control-timing: Make test behavior more stable

2018-07-09 Thread Mario Kleiner
On Mon, Jul 9, 2018 at 9:09 PM, Illia Iorin  wrote:
> The fourfold increase in the test failure condition
> is due to its unstable work. The old condition was left,
> but the test result was changed from fail to warn, added
> fail condition.
>

Hi, can you clarify what the commit message wrt. "fourfold increase...
due to its unstable work" means? I'd like to understand the observed
issue better.

thanks,
-mario

> Cc: Michel Dänzer 
> Cc: Emil Velikov 
> Signed-off-by: Illia Iorin 
> ---
>  tests/spec/glx_oml_sync_control/timing.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tests/spec/glx_oml_sync_control/timing.c 
> b/tests/spec/glx_oml_sync_control/timing.c
> index ab7258940..6d810af52 100644
> --- a/tests/spec/glx_oml_sync_control/timing.c
> +++ b/tests/spec/glx_oml_sync_control/timing.c
> @@ -332,7 +332,10 @@ draw(Display *dpy)
> " does not match glXGetMscRateOML %fus\n",
> msc_wallclock_duration_stats.mean,
> expected_msc_wallclock_duration);
> -   result = PIGLIT_FAIL;
> +   piglit_merge_result(&result, PIGLIT_WARN);
> +   if (fabs(expected_msc_wallclock_duration -
> +msc_wallclock_duration_stats.mean) > 200)
> +   result = PIGLIT_FAIL;
> }
> }
>
> --
> 2.17.1
>
> ___
> 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] glx-oml-sync-control-timing: Make test behavior more stable

2018-07-09 Thread Illia Iorin
The fourfold increase in the test failure condition
is due to its unstable work. The old condition was left,
but the test result was changed from fail to warn, added
fail condition.

Cc: Michel Dänzer 
Cc: Emil Velikov 
Signed-off-by: Illia Iorin 
---
 tests/spec/glx_oml_sync_control/timing.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/spec/glx_oml_sync_control/timing.c 
b/tests/spec/glx_oml_sync_control/timing.c
index ab7258940..6d810af52 100644
--- a/tests/spec/glx_oml_sync_control/timing.c
+++ b/tests/spec/glx_oml_sync_control/timing.c
@@ -332,7 +332,10 @@ draw(Display *dpy)
" does not match glXGetMscRateOML %fus\n",
msc_wallclock_duration_stats.mean,
expected_msc_wallclock_duration);
-   result = PIGLIT_FAIL;
+   piglit_merge_result(&result, PIGLIT_WARN);
+   if (fabs(expected_msc_wallclock_duration -
+msc_wallclock_duration_stats.mean) > 200)
+   result = PIGLIT_FAIL;
}
}
 
-- 
2.17.1

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


Re: [Piglit] [PATCH] Add a test for instanced GS inputs.

2018-07-09 Thread andrey simiklit
Hello,

Thanks for review)

Regards,
Andrii.

On Wed, Jun 27, 2018 at 6:18 AM, Timothy Arceri 
wrote:

> On 22/06/18 18:36, andrii.simiklit wrote:
>
>> Hello,
>>
>> It would be great If somebody could take a look this test)
>> This test against following bug:
>> https://bugs.freedesktop.org/show_bug.cgi?id=96354
>>
>
> I've clean up the description, removed some trailing spaces and pushed
> this test.
>
> Thanks!
>
>
>> Regards,
>> Andrii.
>>
>> On 05.06.18 16:33, Andrii Simiklit wrote:
>>
>> All of our other tests for instanced geometry shaders don't actually
>>> transfer the vertices to the geometry shader
>>> from the vertex shader using gl_Position.
>>> This used to be broken with the i965 driver's in Mesa 12.1.0
>>> on revision d10ae20b9678f1a5b8a81716c68e612662665277.
>>> This test should give us ability to detect
>>> such kind of bugs like 96354 bug in future.
>>>
>>> Signed-off-by: Andrii Simiklit 
>>> ---
>>>   .../instanced-inputs-built-in-variable.shader_test | 68
>>> ++
>>>   1 file changed, 68 insertions(+)
>>>   create mode 100644 tests/spec/arb_gpu_shader5/exe
>>> cution/instanced-inputs-built-in-variable.shader_test
>>>
>>> diff --git 
>>> a/tests/spec/arb_gpu_shader5/execution/instanced-inputs-built-in-variable.shader_test
>>> b/tests/spec/arb_gpu_shader5/execution/instanced-inputs-built-in-variable.shader_test
>>>
>>> new file mode 100644
>>> index 000..86b2bbd
>>> --- /dev/null
>>> +++ 
>>> b/tests/spec/arb_gpu_shader5/execution/instanced-inputs-built-in-variable.shader_test
>>>
>>> @@ -0,0 +1,68 @@
>>> +#It seems as duplicate of the "instanced-inputs.shader_test" test but
>>> it could not detect the bug 96354.
>>> +#It could detect the 96354 bug if and only if vertices are transferred
>>> +#from vertex shader into geometry shader through built-in variable
>>> gl_Position.
>>> +#
>>> +#Specification permits us to do it "11.3.4.4 Geometry Shader Inputs:
>>> +#Structure member gl_Position holds the per-vertex position, as
>>> written
>>> +#by the vertex shader to its built-in output variable gl_Position.
>>> +#Note that writing to gl_Position from either the vertex or
>>> geometry shader is
>>> +#optional (also see section 7.1(“Built-In Variables”) of the OpenGL
>>> Shading Language Specification)"
>>> +
>>> +[require]
>>> +GL >= 2.0
>>> +GLSL >= 1.50
>>> +GL_ARB_gpu_shader5
>>> +
>>> +[vertex shader]
>>> +in vec4 vertex;
>>> +
>>> +void main()
>>> +{
>>> +   gl_Position = vertex;
>>> +}
>>> +
>>> +[geometry shader]
>>> +#extension GL_ARB_gpu_shader5 : require
>>> +layout(triangles) in;
>>> +layout(triangle_strip, max_vertices = 3) out;
>>> +layout(invocations = 4) in;
>>> +
>>> +void main()
>>> +{
>>> +   vec2 offset;
>>> +   if (gl_InvocationID == 0)
>>> +  offset.xy = vec2(-0.5, -0.5);
>>> +   else if (gl_InvocationID == 1)
>>> +  offset.xy = vec2( 0.5, -0.5);
>>> +   else if (gl_InvocationID == 2)
>>> +  offset.xy = vec2(-0.5,  0.5);
>>> +   else if (gl_InvocationID == 3)
>>> +  offset.xy = vec2( 0.5,  0.5);
>>> +
>>> +   for (int i = 0; i < 3; i++) {
>>> +   gl_Position = gl_in[i].gl_Position;
>>> +   gl_Position.xy += offset;
>>> +   EmitVertex();
>>> +   }
>>> +}
>>> +
>>> +[fragment shader]
>>> +void main()
>>> +{
>>> +   gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
>>> +}
>>> +
>>> +[vertex data]
>>> +vertex/float/2
>>> +-0.5 -0.5
>>> + 0.5 -0.5
>>> +-0.5  0.0
>>> + 0.5  0.0
>>> +-0.5  0.5
>>> + 0.5  0.5
>>> +
>>> +[test]
>>> +clear color 0.0 0.0 0.0 0.0
>>> +clear
>>> +draw arrays GL_TRIANGLE_STRIP 0 6
>>> +probe all rgba 0.0 1.0 0.0 1.0
>>> \ No newline at end of file
>>>
>>
>> ___
>> 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 v3] arb_blend_func_extended: Test dual src blending without second color output

2018-07-09 Thread Danylo Piliaiev
Using fragment shader without second color output should not hang gpu
when dual source blending is enabled.
It hanged Intel gen8+ GPUs when discarding fragments and depth test
being enabled.
There is also safeguard against lack of second color output in radeonsi.

v2: by Ilia Mirkin
- Set supports_gl_compat_version = 30
- Moved drawing to piglit_display
- Change drawing sequence to: clear red -> draw -> clear green

v3: by Dylan Baker
- Removed run_concurrent=False

Signed-off-by: Danylo Piliaiev 
---
 tests/opengl.py   |   2 +
 .../execution/CMakeLists.gl.txt   |   1 +
 .../execution/CMakeLists.gles3.txt|   1 +
 .../dual-src-blending-discard-without-src1.c  | 126 ++
 4 files changed, 130 insertions(+)
 create mode 100644 
tests/spec/arb_blend_func_extended/execution/dual-src-blending-discard-without-src1.c

diff --git a/tests/opengl.py b/tests/opengl.py
index 02110ff86..1b088b75f 100644
--- a/tests/opengl.py
+++ b/tests/opengl.py
@@ -4114,6 +4114,7 @@ with profile.test_list.group_manager(
 g(['arb_blend_func_extended-fbo-extended-blend'])
 g(['arb_blend_func_extended-fbo-extended-blend-explicit'])
 g(['arb_blend_func_extended-fbo-extended-blend-pattern'])
+g(['arb_blend_func_extended-dual-src-blending-discard-without-src1'])
 g(['arb_blend_func_extended-blend-api_gles2'])
 g(['arb_blend_func_extended-builtins_gles2'])
 g(['arb_blend_func_extended-bindfragdataindexed-invalid-parameters_gles3'])
@@ -4123,6 +4124,7 @@ with profile.test_list.group_manager(
 g(['arb_blend_func_extended-fbo-extended-blend-pattern_gles3'])
 g(['arb_blend_func_extended-fbo-extended-blend_gles3'])
 g(['arb_blend_func_extended-fbo-extended-blend-explicit_gles3'])
+g(['arb_blend_func_extended-dual-src-blending-discard-without-src1_gles3'])
 
 with profile.test_list.group_manager(
 PiglitGLTest,
diff --git a/tests/spec/arb_blend_func_extended/execution/CMakeLists.gl.txt 
b/tests/spec/arb_blend_func_extended/execution/CMakeLists.gl.txt
index f48c352e1..09d45b72c 100644
--- a/tests/spec/arb_blend_func_extended/execution/CMakeLists.gl.txt
+++ b/tests/spec/arb_blend_func_extended/execution/CMakeLists.gl.txt
@@ -12,4 +12,5 @@ link_libraries (
 piglit_add_executable (arb_blend_func_extended-fbo-extended-blend 
fbo-extended-blend.c)
 piglit_add_executable (arb_blend_func_extended-fbo-extended-blend-explicit 
fbo-extended-blend-explicit.c)
 piglit_add_executable (arb_blend_func_extended-fbo-extended-blend-pattern 
fbo-extended-blend-pattern.c)
+piglit_add_executable 
(arb_blend_func_extended-dual-src-blending-discard-without-src1 
dual-src-blending-discard-without-src1.c)
 # vim: ft=cmake:
diff --git a/tests/spec/arb_blend_func_extended/execution/CMakeLists.gles3.txt 
b/tests/spec/arb_blend_func_extended/execution/CMakeLists.gles3.txt
index a70e9fa5e..fd41622bd 100644
--- a/tests/spec/arb_blend_func_extended/execution/CMakeLists.gles3.txt
+++ b/tests/spec/arb_blend_func_extended/execution/CMakeLists.gles3.txt
@@ -3,4 +3,5 @@ link_libraries(piglitutil_${piglit_target_api})
 piglit_add_executable 
(arb_blend_func_extended-fbo-extended-blend_${piglit_target_api} 
fbo-extended-blend.c)
 piglit_add_executable 
(arb_blend_func_extended-fbo-extended-blend-explicit_${piglit_target_api} 
fbo-extended-blend-explicit.c)
 piglit_add_executable 
(arb_blend_func_extended-fbo-extended-blend-pattern_${piglit_target_api} 
fbo-extended-blend-pattern.c)
+piglit_add_executable 
(arb_blend_func_extended-dual-src-blending-discard-without-src1_${piglit_target_api}
 dual-src-blending-discard-without-src1.c)
 # vim: ft=cmake:
diff --git 
a/tests/spec/arb_blend_func_extended/execution/dual-src-blending-discard-without-src1.c
 
b/tests/spec/arb_blend_func_extended/execution/dual-src-blending-discard-without-src1.c
new file mode 100644
index 0..a0a45cd79
--- /dev/null
+++ 
b/tests/spec/arb_blend_func_extended/execution/dual-src-blending-discard-without-src1.c
@@ -0,0 +1,126 @@
+/* Copyright © 2018 Danylo Piliaiev
+ *
+ * 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