[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