[Piglit] [v5 04/12] tests: spec: EXT_image_dma_buf_import invalid hints
Chad Versace
chad.versace at linux.intel.com
Tue May 7 14:39:27 PDT 2013
On 05/03/2013 02:23 PM, Eric Anholt wrote:
> Topi Pohjolainen <topi.pohjolainen at intel.com> 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 <eric at anholt.net>
>
>
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
>
More information about the Piglit
mailing list