On 05/03/2013 02:23 PM, Eric Anholt wrote:
Topi Pohjolainen <[email protected]> writes:

diff --git a/tests/spec/ext_image_dma_buf_import/CMakeLists.gles1.txt 
b/tests/spec/ext_image_dma_buf_import/CMakeLists.gles1.txt
new file mode 100644
index 0000000..2499554
--- /dev/null
+++ b/tests/spec/ext_image_dma_buf_import/CMakeLists.gles1.txt
@@ -0,0 +1,15 @@
+#add_definitions(-DSOURCE_DIR="${piglit_SOURCE_DIR}/")
+
+include_directories(
+       ${OPENGL_INCLUDE_PATH}
+       )
+
+link_libraries(
+       ${OPENGL_gles1_LIBRARY}
+       ${OPENGL_egl_LIBRARY}
+       piglitutil_gles1
+       )
+
+piglit_add_executable(ext_image_dma_buf_import-invalid_hints invalid_hints.c)

I'd like to see conditional compile on HAVE_LIBDRM

I don't think it makes sense to condition the compile on HAVE_LIBDRM, because
Topi wrote these tests to be independent of drm drivers. If Linaro, for example,
implemented piglit_create/destroy_dma_buf for ARM, then the tests will run just
fine there. (I chose Linaro/ARM because together they drove the initial
implementation of this extension, and Linaro uses Piglit).

> and no
ext_image_dma_buf_fourcc.h.

Why kill ext_image_dma_buf_fourcc.h? Several of the following tests resuse the
formats defined there. Are you suggesting that the formats be redefined in
each *.c file?


+/**
+ * One re-uses the buffer for all the tests. Each test is expected to fail
+ * meaning that the ownership is not transferred to the EGL in any point.
+ */
+enum piglit_result
+piglit_display(void)
+{
+       const unsigned char pixels[2 * 2 * 4];
+       struct piglit_dma_buf *buf;
+       unsigned stride;
+       unsigned offset;
+       int fd;
+       bool pass;
+       enum piglit_result res;
+
+       res = piglit_create_dma_buf(2, 2, 4, pixels, 2 * 4, &buf, &fd, &stride,
+                               &offset);
+       if (res != PIGLIT_PASS)
+               return res;
+
+       pass = test_invalid_hint(fd, 2, 2, stride, offset,
+                       EGL_YUV_COLOR_SPACE_HINT_EXT, 0);
+       pass = test_invalid_hint(fd, 2, 2, stride, offset,
+                       EGL_SAMPLE_RANGE_HINT_EXT, 0) && pass;
+       pass = test_invalid_hint(fd, 2, 2, stride, offset,
+                       EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT, 0) && pass;
+       pass = test_invalid_hint(fd, 2, 2, stride, offset,
+                       EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT, 0) && pass;
+
+       piglit_destroy_dma_buf(buf);
+
+       /* Close the file descriptor also, EGL does not have ownership */
+       close(fd);

Check that you don't get EBADF here to make sure that EGL didn't
accidentally steal ownership in its error path?

Either way, if the header thing is fixed,

Reviewed-by: Eric Anholt <[email protected]>



_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit


_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to