Eric Anholt | 16 May 2013 16:28
Gravatar

[PATCH 1/7] rendermode-feedback: Simple test of glFeedbackBuffer() types.

We had no testing of this in piglit at all, so I wrote this in the
process of debugging:

https://bugs.freedesktop.org/show_bug.cgi?id=34154

v2: Rebase to master, move to GL 1.0 test group.
---
 tests/all.tests                         |   1 +
 tests/spec/gl-1.0/CMakeLists.gl.txt     |   1 +
 tests/spec/gl-1.0/rendermode-feedback.c | 190 ++++++++++++++++++++++++++++++++
 3 files changed, 192 insertions(+)
 create mode 100644 tests/spec/gl-1.0/rendermode-feedback.c

diff --git a/tests/all.tests b/tests/all.tests
index 0f80e0b..5643919 100644
--- a/tests/all.tests
+++ b/tests/all.tests
 <at>  <at>  -574,6 +574,7  <at>  <at>  add_concurrent_test(gl10, 'gl-1.0-dlist-beginend')
 add_concurrent_test(gl10, 'gl-1.0-dlist-shademodel')
 add_concurrent_test(gl10, 'gl-1.0-edgeflag')
 add_concurrent_test(gl10, 'gl-1.0-edgeflag-quads')
+add_concurrent_test(gl10, 'gl-1.0-rendermode-feedback')

 gl12 = Group()
 spec['!OpenGL 1.2'] = gl12
diff --git a/tests/spec/gl-1.0/CMakeLists.gl.txt b/tests/spec/gl-1.0/CMakeLists.gl.txt
index bdb212a..8d3111c 100644
--- a/tests/spec/gl-1.0/CMakeLists.gl.txt
+++ b/tests/spec/gl-1.0/CMakeLists.gl.txt
 <at>  <at>  -14,5 +14,6  <at>  <at>  piglit_add_executable (gl-1.0-edgeflag edgeflag.c)
(Continue reading)

Topi Pohjolainen | 16 May 2013 11:51
Picon
Favicon

[v6] Tests for EXT_image_dma_buf_import

Here are some tests for the dma buffer importing. These are mostly
things specifically listed down in the spec itself regarding
attributes and their values. This version two adds three additional
tests for sampling packed RGB, but testing of more complex planar
(YUV) formats is left until one has the sampling support in place
provided by the image external extension.

I augmented the framework to provide platform independent interface
for creating and releasing the target buffers. I hope to re-use the
logic for the external image testing later on.

v2-v4:
   - clarifications on closing the buffers
   - added tests sampling RGB formatted buffers
   - check for EGL extensions, not for GL (added a utility for this)

v5:
   - split tests into individual commits
   - introduced common header for drm fourcc formats

v6:
   - various fixes according to review comments from Eric, Chad,
     Daniel and Ken
   - refactored dri2-authentication from Chad's revision of dma
     buffer support into its own patch. I had fixes for other
     review comments already in my version of the base patch.

Chad: Please check if you agree into conditionally including the
      authentication support. I'm fine having it as you proposed
      originally. I just couldn't get it working on my Ubuntu
(Continue reading)

Chad Versace | 15 May 2013 23:32
Picon
Gravatar

[PATCH] util/gl: Change default waffle platform

Change default waffle platform from GLX to XEGL for GLES tests.

The default platform was GLX for all GL tests (GL and GLES).  But not all
GLX implementations support creation of ES1 and ES2 contexts. Unless the
user explicitly set PIGLIT_PLATFORM to some EGL platform, this problem
caused GLES tests to skip.

Enables 76 GLES tests on my system.

CC: Eric Anholt <eric@...>
Signed-off-by: Chad Versace <chad.versace@...>
---
 tests/util/piglit-framework-gl/piglit_fbo_framework.c    |  2 +-
 tests/util/piglit-framework-gl/piglit_wfl_framework.c    | 10 +++++++++-
 tests/util/piglit-framework-gl/piglit_wfl_framework.h    |  2 +-
 tests/util/piglit-framework-gl/piglit_winsys_framework.c |  2 +-
 4 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/tests/util/piglit-framework-gl/piglit_fbo_framework.c b/tests/util/piglit-framework-gl/piglit_fbo_framework.c
index da2c601..1b844bb 100644
--- a/tests/util/piglit-framework-gl/piglit_fbo_framework.c
+++ b/tests/util/piglit-framework-gl/piglit_fbo_framework.c
 <at>  <at>  -136,7 +136,7  <at>  <at>  piglit_fbo_framework_create(const struct piglit_gl_test_config *test_config)
 	struct piglit_wfl_framework *wfl_fw;
 	struct piglit_gl_framework *gl_fw;

-	int32_t platform = piglit_wfl_framework_choose_platform();
+	int32_t platform = piglit_wfl_framework_choose_platform(test_config);
 	bool ok = true;

(Continue reading)

Chad Versace | 15 May 2013 20:29
Picon
Gravatar

[PATCH] util: Don't call exit() after piglit_report_result()

Any call to exit() that follows piglit_report_result() is nothing more
than confusing dead code.  piglit_report_result() already calls exit(),
and chooses the exit code according to the PIGLIT_$RESULT value.

CC: Eric Anholt <eric@...>
CC: Topi Pohjolainen <topi.pohjolainen@...>
Signed-off-by: Chad Versace <chad.versace@...>
---
 tests/util/piglit-glx-util.c       |  1 -
 tests/util/piglit-shader-gl.c      |  4 ----
 tests/util/piglit-util-cl.c        | 12 ------------
 tests/util/piglit-util-gl-common.c |  4 ----
 tests/util/piglit-util-gl.c        |  3 ---
 5 files changed, 24 deletions(-)

diff --git a/tests/util/piglit-glx-util.c b/tests/util/piglit-glx-util.c
index 016fa46..3805618 100644
--- a/tests/util/piglit-glx-util.c
+++ b/tests/util/piglit-glx-util.c
 <at>  <at>  -68,7 +68,6  <at>  <at>  piglit_get_glx_visual(Display *dpy)
 		fprintf(stderr,
 			"Couldn't get an RGBA, double-buffered visual\n");
 		piglit_report_result(PIGLIT_FAIL);
-		exit(1);
 	}

 	return visinfo;
diff --git a/tests/util/piglit-shader-gl.c b/tests/util/piglit-shader-gl.c
index 33735cc..32a7c45 100644
--- a/tests/util/piglit-shader-gl.c
(Continue reading)

Chris Forbes | 15 May 2013 11:49
Picon
Favicon
Gravatar

[PATCH] add new test for stencil ref clamping

Signed-off-by: Chris Forbes <chrisf <at> ijw.co.nz>
---
 tests/all.tests                   |   1 +
 tests/general/CMakeLists.gl.txt   |   1 +
 tests/general/stencil-ref-clamp.c | 108 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 110 insertions(+)
 create mode 100644 tests/general/stencil-ref-clamp.c

diff --git a/tests/all.tests b/tests/all.tests
index 0f80e0b..869a9cb 100644
--- a/tests/all.tests
+++ b/tests/all.tests
 <at>  <at>  -631,6 +631,7  <at>  <at>  add_concurrent_test(gl20, 'attribs')
 add_concurrent_test(gl20, 'gl-2.0-edgeflag')
 add_plain_test(gl20, 'getattriblocation-conventional')
 add_plain_test(gl20, 'clip-flag-behavior')
+add_plain_test(gl20, 'stencil-ref-clamp')
 add_concurrent_test(gl20, 'vertex-program-two-side enabled front back front2 back2')
 add_concurrent_test(gl20, 'vertex-program-two-side enabled front back front2')
 add_concurrent_test(gl20, 'vertex-program-two-side enabled front back back2')
diff --git a/tests/general/CMakeLists.gl.txt b/tests/general/CMakeLists.gl.txt
index 98e3271..41408b8 100644
--- a/tests/general/CMakeLists.gl.txt
+++ b/tests/general/CMakeLists.gl.txt
 <at>  <at>  -118,6 +118,7  <at>  <at>  piglit_add_executable (select select.c)
 piglit_add_executable (stencil-drawpixels stencil-drawpixels.c)
 piglit_add_executable (stencil-twoside stencil-twoside.c)
 piglit_add_executable (stencil-wrap stencil-wrap.c)
+piglit_add_executable (stencil-ref-clamp stencil-ref-clamp.c)
 piglit_add_executable (sync_api sync_api.c)
(Continue reading)

junyan.he | 15 May 2013 08:57
Picon

[PATCH] Modify the FindOpenCL.make to add the CL lib name

From: Junyan He <junyan.he@...>

Some OpenCL lib's name is not libOpenCL.so.
Some thing like libCL.so, libcl.so may exist,
and in these cases the check failed.
Add the names to fix this problem.

Signed-off-by: Junyan He <junyan.he@...>
---
 cmake/Modules/FindOpenCL.cmake |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/cmake/Modules/FindOpenCL.cmake b/cmake/Modules/FindOpenCL.cmake
index cc66714..121dcf2 100644
--- a/cmake/Modules/FindOpenCL.cmake
+++ b/cmake/Modules/FindOpenCL.cmake
 <at>  <at>  -35,7 +35,8  <at>  <at> 
     find_path(OPENCL_INCLUDE_PATH CL/opencl.h)
   endif()

-  find_library(OPENCL_opencl_LIBRARY OpenCL)
+  find_library(OPENCL_opencl_LIBRARY
+      NAMES OpenCL CL cl)

 include(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCL
--

-- 
1.7.9.5

(Continue reading)

Eric Anholt | 15 May 2013 00:44
Gravatar

gl.spec update and upstream handling

Right now we've got this awful situation in our piglit dispatch
generation where every time someone needs to update gl.spec, they have
to hand-apply some unknown set of local changes (which have been
incrementally applied at the same time as gl.spec updates) to avoid
regressing things.

I've pushed two branches to my tree to resolve this problem.  They are
"glspec-upstream" which is the set of pristine files from Khronos and
would be pushed to the piglit repo as a branch, and a "merge-glspec"
branch which would be pushed directly to master and contains the last
fully hand-applied merge we would ever need.  When someone wants to
update gl.spec, they'd just do:

git checkout glspec-upstream
cp ~/Download/gl.spec glapi/gl.spec
git commit -a
git checkout master
git merge glspec-upstream
git push origin master glspec-upstream

and thanks to the magic of revision control, the local changes we have
would be preserved in the merge.

Additionally in these branches you'll find 3 new files from Khronos
upstream.  These are files I want for the GLES2 piglit-dispatch support
I'm working on getting sent out for review.

Does this get an ack?
(Continue reading)

Eric Anholt | 13 May 2013 20:37
Gravatar

[PATCH] dlist-beginend: Fix up subtest names.

For better or worse, the "/" in a test name is interpreted as a group
separator.
---
 tests/spec/gl-1.0/dlist-beginend.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/spec/gl-1.0/dlist-beginend.c b/tests/spec/gl-1.0/dlist-beginend.c
index bb2f3ac..1493d12 100644
--- a/tests/spec/gl-1.0/dlist-beginend.c
+++ b/tests/spec/gl-1.0/dlist-beginend.c
 <at>  <at>  -68,7 +68,7  <at>  <at>  test_call_list_inside_begin_end(void)

 	piglit_present_results();
 	piglit_report_subtest_result(pass ? PIGLIT_PASS : PIGLIT_FAIL,
-				     "glCallList inside glBegin/glEnd");
+				     "glCallList inside glBegin-glEnd");

 	return pass;
 }
 <at>  <at>  -114,7 +114,7  <at>  <at>  test_call_list_inside_nested_begin_end(void)

 	piglit_present_results();
 	piglit_report_subtest_result(pass ? PIGLIT_PASS : PIGLIT_FAIL,
-				     "nested glCallList inside glBegin/glEnd");
+				     "nested glCallList inside glBegin-glEnd");

 	return pass;
 }
 <at>  <at>  -154,7 +154,7  <at>  <at>  test_illegal_rect_list_inside_begin_end(void)

(Continue reading)

Dylan Baker | 10 May 2013 08:09
Picon

HTML summary rewrite

This is a rather invasive patch set that starts to replace the summary
backend.

There are a couple of reasons for rewriting the backend rather than
making incremental changes. The first reason is that the old summary
backend is nearly uncommented, and nearly incomprehensable. The second
reason is philosophical, I didn't like that the generation was being
done partially in the piglit-summary-html.py and partially in summary.py,
It makes much more sense to do it in one place.

The design principle is that one creates a summary object, and then calls
a method on that object to generate output, whether they want text, HTML,
some kind of XML, or anything else really. Which makes the code simpler to
follow, since there is very little not being done in summary.py. This also
has the advantage of moving the majority of the code into compiled pyc
files and out of jited py files.

Patches 1 and 2 lay some ground work for the patch series, by reworking
a few things in the existing code

Patches 3 through 6 are the actual conversion from the old summary to the
new summary. The goal here it to produce HTML as close as possible to the
output of the previous implementation.

Patches 7 through 12 Introduce some enhancementments to the new code.
Mainly cleaning up the HTML output, or making some enhancements that
are different from the previous behavior

Fabian Bieler | 3 May 2013 09:18

[PATCH 5/5] fbo-clear-formats: Return texture name as uint.

---
 tests/fbo/fbo-clear-formats.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/fbo/fbo-clear-formats.c b/tests/fbo/fbo-clear-formats.c
index 690df72..8ee8e97 100644
--- a/tests/fbo/fbo-clear-formats.c
+++ b/tests/fbo/fbo-clear-formats.c
 <at>  <at>  -227,7 +227,7  <at>  <at>  do_stencil_clear(GLenum format, GLuint tex, int level, int size)
 	return true;
 }

-static bool
+static GLuint
 create_tex(GLenum internalformat, GLenum baseformat)
 {
 	GLuint tex;
--

-- 
1.8.1.2

Fabian Bieler | 3 May 2013 11:06

[PATCH 4/5] sparse-samplers: Increase precision of expected color.

The expected green and blue channels at the probed pixel are 0.51. with the
previous approximated value of 0.5 and the default absolute piglit tolerance of
0.01 the expected value was on the edge of the tolerated range.
---
 tests/spec/arb_fragment_program/sparse-samplers.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/tests/spec/arb_fragment_program/sparse-samplers.c b/tests/spec/arb_fragment_program/sparse-samplers.c
index dc70eed..40d2408 100644
--- a/tests/spec/arb_fragment_program/sparse-samplers.c
+++ b/tests/spec/arb_fragment_program/sparse-samplers.c
 <at>  <at>  -64,13 +64,20  <at>  <at>  test_linear(int x)
 	float average[4];
 	int i;

-	/* Figure out what the blended middle pixel of the magnified
-	 * texture ought to be.  Given a default piglit tolerance of
-	 * .02, the texture needs to be at least around 64x64 for this
-	 * to probably work out.
+	/* For an even framebuffer size we don't sample exactly at the center
+	 * of the texture. The centers of the texels are a quarter framebuffer
+	 * (25 pixels) to the sides of the center of the framebuffer. We sample
+	 * half a pixel off the center of the framebuffer. The lerp factors for
+	 * the expected color are thus 0.5 +/- 0.5/25.
 	 */
+	const float offset = 1.0f/(float)texrect_w;
+	const float lfm = 0.5f - offset;
+	const float lfp = 0.5f + offset;
 	for (i = 0; i < 4; i++)
-		average[i] = (r[i] + g[i] + b[i] + w[i]) / 4;
(Continue reading)


Gmane