[Piglit] [PATCH] Move dma buf stuff from the GL framework to those tests.

Kenneth Graunke kenneth at whitecape.org
Tue Mar 21 08:50:54 UTC 2017


This was linking every single Piglit test against libdrm_intel directly.
I was recently experimenting with a change that made i965 no longer use
libdrm_intel, and expected missing symbol errors...but all Piglit tests
surprisingly kept working.  There's no reason for most tests to have
this linked in, so restrict it to only the tests that need it.
---
 .../ext_image_dma_buf_import/CMakeLists.gles1.txt  | 18 +++++---------
 .../ext_image_dma_buf_import/CMakeLists.gles2.txt  | 16 ++++--------
 tests/spec/ext_image_dma_buf_import/CMakeLists.txt | 26 +++++++++++++++++++
 .../intel_external_sampler_only.c                  |  2 +-
 .../intel_unsupported_format.c                     |  2 +-
 .../ext_image_dma_buf_import/invalid_attributes.c  |  2 +-
 .../spec/ext_image_dma_buf_import/invalid_hints.c  |  2 +-
 .../ext_image_dma_buf_import/missing_attributes.c  |  2 +-
 .../ext_image_dma_buf_import/ownership_transfer.c  |  2 +-
 .../ext_image_dma_buf_import}/piglit_drm_dma_buf.c |  6 ++---
 .../ext_image_dma_buf_import}/piglit_drm_dma_buf.h |  6 ++---
 tests/spec/ext_image_dma_buf_import/refcount.c     |  2 +-
 .../spec/ext_image_dma_buf_import/sample_common.c  |  2 +-
 .../transcode-nv12-as-r8-gr88.c                    |  2 +-
 tests/util/CMakeLists.txt                          | 29 ----------------------
 tests/util/piglit-framework-gl.c                   | 17 -------------
 .../util/piglit-framework-gl/piglit_gl_framework.c |  5 ----
 17 files changed, 52 insertions(+), 89 deletions(-)
 rename tests/{util/piglit-framework-gl => spec/ext_image_dma_buf_import}/piglit_drm_dma_buf.c (98%)
 rename tests/{util/piglit-framework-gl => spec/ext_image_dma_buf_import}/piglit_drm_dma_buf.h (91%)

diff --git a/tests/spec/ext_image_dma_buf_import/CMakeLists.gles1.txt b/tests/spec/ext_image_dma_buf_import/CMakeLists.gles1.txt
index 39a2b292d..c02291a14 100644
--- a/tests/spec/ext_image_dma_buf_import/CMakeLists.gles1.txt
+++ b/tests/spec/ext_image_dma_buf_import/CMakeLists.gles1.txt
@@ -11,18 +11,12 @@ link_libraries(
 
 # These tests rely on drm and are hence compiled only on linux/drm platforms
 if(PIGLIT_BUILD_DMA_BUF_TESTS)
-	add_definitions(-DHAVE_LIBDRM)
-
-	include_directories(
-		${LIBDRM_INCLUDE_DIRS}
-	)
-
-	piglit_add_executable(ext_image_dma_buf_import-invalid_hints invalid_hints.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-invalid_attributes invalid_attributes.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-missing_attributes missing_attributes.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-ownership_transfer ownership_transfer.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-intel_unsupported_format intel_unsupported_format.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-intel_external_sampler_only intel_external_sampler_only.c image_common.c)
+	piglit_add_executable(ext_image_dma_buf_import-invalid_hints invalid_hints.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-invalid_attributes invalid_attributes.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-missing_attributes missing_attributes.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-ownership_transfer ownership_transfer.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-intel_unsupported_format intel_unsupported_format.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-intel_external_sampler_only intel_external_sampler_only.c image_common.c piglit_drm_dma_buf.c)
 endif()
 
 # vim: ft=cmake:
diff --git a/tests/spec/ext_image_dma_buf_import/CMakeLists.gles2.txt b/tests/spec/ext_image_dma_buf_import/CMakeLists.gles2.txt
index 93f43fad9..2bd90e1a5 100644
--- a/tests/spec/ext_image_dma_buf_import/CMakeLists.gles2.txt
+++ b/tests/spec/ext_image_dma_buf_import/CMakeLists.gles2.txt
@@ -10,17 +10,11 @@ link_libraries(
 	)
 
 if(PIGLIT_BUILD_DMA_BUF_TESTS)
-	add_definitions(-DHAVE_LIBDRM)
-
-	include_directories(
-		${LIBDRM_INCLUDE_DIRS}
-	)
-
-	piglit_add_executable(ext_image_dma_buf_import-refcount refcount.c sample_common.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-sample_yuv sample_yuv.c sample_common.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-sample_rgb sample_rgb.c sample_common.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-intel_external_sampler_with_dma_only intel_external_sampler_with_dma_only.c image_common.c)
-	piglit_add_executable(ext_image_dma_buf_import-transcode-nv12-as-r8-gr88 transcode-nv12-as-r8-gr88.c image_common.c)
+	piglit_add_executable(ext_image_dma_buf_import-refcount refcount.c sample_common.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-sample_yuv sample_yuv.c sample_common.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-sample_rgb sample_rgb.c sample_common.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-intel_external_sampler_with_dma_only intel_external_sampler_with_dma_only.c image_common.c piglit_drm_dma_buf.c)
+	piglit_add_executable(ext_image_dma_buf_import-transcode-nv12-as-r8-gr88 transcode-nv12-as-r8-gr88.c image_common.c piglit_drm_dma_buf.c)
 endif()
 
 # vim: ft=cmake:
diff --git a/tests/spec/ext_image_dma_buf_import/CMakeLists.txt b/tests/spec/ext_image_dma_buf_import/CMakeLists.txt
index 144a306f4..602d0d639 100644
--- a/tests/spec/ext_image_dma_buf_import/CMakeLists.txt
+++ b/tests/spec/ext_image_dma_buf_import/CMakeLists.txt
@@ -1 +1,27 @@
+if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+	# One needs to have at least one hardware driver present, otherwise
+	# there is no point compiling just the dispatcher.
+	if(PIGLIT_BUILD_DMA_BUF_TESTS)
+		add_definitions(-DHAVE_LIBDRM)
+
+		link_libraries(
+			${LIBDRM_LDFLAGS}
+			${XCB_LDFLAGS}
+			${XCB_DRI2_LDFLAGS}
+		)
+
+                include_directories(
+			${LIBDRM_INCLUDE_DIRS}
+			${XCB_INCLUDE_DIRS}
+			${XCB_DRI2_INCLUDE_DIRS}
+		)
+
+		if(LIBDRM_INTEL_FOUND)
+			add_definitions(-DHAVE_LIBDRM_INTEL)
+			link_libraries(${LIBDRM_INTEL_LDFLAGS})
+		endif()
+	endif()
+
+endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+
 piglit_include_target_api()
diff --git a/tests/spec/ext_image_dma_buf_import/intel_external_sampler_only.c b/tests/spec/ext_image_dma_buf_import/intel_external_sampler_only.c
index de1074c21..4fc581d07 100644
--- a/tests/spec/ext_image_dma_buf_import/intel_external_sampler_only.c
+++ b/tests/spec/ext_image_dma_buf_import/intel_external_sampler_only.c
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 
diff --git a/tests/spec/ext_image_dma_buf_import/intel_unsupported_format.c b/tests/spec/ext_image_dma_buf_import/intel_unsupported_format.c
index 8373e9038..5264d906b 100644
--- a/tests/spec/ext_image_dma_buf_import/intel_unsupported_format.c
+++ b/tests/spec/ext_image_dma_buf_import/intel_unsupported_format.c
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 
diff --git a/tests/spec/ext_image_dma_buf_import/invalid_attributes.c b/tests/spec/ext_image_dma_buf_import/invalid_attributes.c
index cc0b0462a..387609f13 100644
--- a/tests/spec/ext_image_dma_buf_import/invalid_attributes.c
+++ b/tests/spec/ext_image_dma_buf_import/invalid_attributes.c
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 
diff --git a/tests/spec/ext_image_dma_buf_import/invalid_hints.c b/tests/spec/ext_image_dma_buf_import/invalid_hints.c
index c2b43a23a..80084fa32 100644
--- a/tests/spec/ext_image_dma_buf_import/invalid_hints.c
+++ b/tests/spec/ext_image_dma_buf_import/invalid_hints.c
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 
diff --git a/tests/spec/ext_image_dma_buf_import/missing_attributes.c b/tests/spec/ext_image_dma_buf_import/missing_attributes.c
index 3cfaca38f..b3777557b 100644
--- a/tests/spec/ext_image_dma_buf_import/missing_attributes.c
+++ b/tests/spec/ext_image_dma_buf_import/missing_attributes.c
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 
diff --git a/tests/spec/ext_image_dma_buf_import/ownership_transfer.c b/tests/spec/ext_image_dma_buf_import/ownership_transfer.c
index 5f7adbac2..348f0a981 100644
--- a/tests/spec/ext_image_dma_buf_import/ownership_transfer.c
+++ b/tests/spec/ext_image_dma_buf_import/ownership_transfer.c
@@ -23,7 +23,7 @@
 
 #include <errno.h>
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 
diff --git a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c b/tests/spec/ext_image_dma_buf_import/piglit_drm_dma_buf.c
similarity index 98%
rename from tests/util/piglit-framework-gl/piglit_drm_dma_buf.c
rename to tests/spec/ext_image_dma_buf_import/piglit_drm_dma_buf.c
index c3225c399..865a55134 100644
--- a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.c
+++ b/tests/spec/ext_image_dma_buf_import/piglit_drm_dma_buf.c
@@ -469,8 +469,8 @@ piglit_drm_get_driver(void)
 }
 
 enum piglit_result
-piglit_drm_create_dma_buf(unsigned w, unsigned h, unsigned fourcc,
-			const void *src_data,  struct piglit_dma_buf **buf)
+piglit_create_dma_buf(unsigned w, unsigned h, unsigned fourcc,
+		      const void *src_data,  struct piglit_dma_buf **buf)
 {
 	struct piglit_dma_buf *drm_buf;
 	const struct piglit_drm_driver *drv = piglit_drm_get_driver();
@@ -498,7 +498,7 @@ piglit_drm_create_dma_buf(unsigned w, unsigned h, unsigned fourcc,
 }
 
 void
-piglit_drm_destroy_dma_buf(struct piglit_dma_buf *buf)
+piglit_destroy_dma_buf(struct piglit_dma_buf *buf)
 {
 	const struct piglit_drm_driver *drv;
 
diff --git a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h b/tests/spec/ext_image_dma_buf_import/piglit_drm_dma_buf.h
similarity index 91%
rename from tests/util/piglit-framework-gl/piglit_drm_dma_buf.h
rename to tests/spec/ext_image_dma_buf_import/piglit_drm_dma_buf.h
index 36777a835..20d647cd4 100644
--- a/tests/util/piglit-framework-gl/piglit_drm_dma_buf.h
+++ b/tests/spec/ext_image_dma_buf_import/piglit_drm_dma_buf.h
@@ -50,10 +50,10 @@ struct piglit_dma_buf {
 };
 
 enum piglit_result
-piglit_drm_create_dma_buf(unsigned w, unsigned h, unsigned fourcc,
-			const void *src_data,  struct piglit_dma_buf **buf);
+piglit_create_dma_buf(unsigned w, unsigned h, unsigned fourcc,
+		      const void *src_data,  struct piglit_dma_buf **buf);
 
 void
-piglit_drm_destroy_dma_buf(struct piglit_dma_buf *buf);
+piglit_destroy_dma_buf(struct piglit_dma_buf *buf);
 
 #endif /* PIGLIT_DRM_DMA_BUF_H */
diff --git a/tests/spec/ext_image_dma_buf_import/refcount.c b/tests/spec/ext_image_dma_buf_import/refcount.c
index 7ea200edd..087950634 100644
--- a/tests/spec/ext_image_dma_buf_import/refcount.c
+++ b/tests/spec/ext_image_dma_buf_import/refcount.c
@@ -21,7 +21,7 @@
  * IN THE SOFTWARE.
  */
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "sample_common.h"
 #include "image_common.h"
diff --git a/tests/spec/ext_image_dma_buf_import/sample_common.c b/tests/spec/ext_image_dma_buf_import/sample_common.c
index 2f586c774..89fc6cf41 100644
--- a/tests/spec/ext_image_dma_buf_import/sample_common.c
+++ b/tests/spec/ext_image_dma_buf_import/sample_common.c
@@ -23,7 +23,7 @@
 
 #include <unistd.h>
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 #include "sample_common.h"
diff --git a/tests/spec/ext_image_dma_buf_import/transcode-nv12-as-r8-gr88.c b/tests/spec/ext_image_dma_buf_import/transcode-nv12-as-r8-gr88.c
index 7e5d5c8d6..16be7baab 100644
--- a/tests/spec/ext_image_dma_buf_import/transcode-nv12-as-r8-gr88.c
+++ b/tests/spec/ext_image_dma_buf_import/transcode-nv12-as-r8-gr88.c
@@ -33,7 +33,7 @@
  * and GR88 DRM formats.
  */
 
-#include "piglit-framework-gl/piglit_drm_dma_buf.h"
+#include "piglit_drm_dma_buf.h"
 
 #include "image_common.h"
 
diff --git a/tests/util/CMakeLists.txt b/tests/util/CMakeLists.txt
index a9fc33900..e910efbdf 100644
--- a/tests/util/CMakeLists.txt
+++ b/tests/util/CMakeLists.txt
@@ -120,35 +120,6 @@ else()
 endif()
 
 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-	# One needs to have at least one hardware driver present, otherwise
-	# there is no point compiling just the dispatcher.
-	if(PIGLIT_BUILD_DMA_BUF_TESTS)
-		add_definitions(-DHAVE_LIBDRM)
-
-		list(APPEND UTIL_GL_SOURCES
-			piglit-framework-gl/piglit_drm_dma_buf.c
-		)
-
-		list(APPEND UTIL_GL_LIBS
-			${LIBDRM_LDFLAGS}
-			${XCB_LDFLAGS}
-			${XCB_DRI2_LDFLAGS}
-		)
-
-		list(APPEND UTIL_GL_INCLUDES
-			${LIBDRM_INCLUDE_DIRS}
-			${XCB_INCLUDE_DIRS}
-			${XCB_DRI2_INCLUDE_DIRS}
-		)
-
-		if(LIBDRM_INTEL_FOUND)
-			add_definitions(-DHAVE_LIBDRM_INTEL)
-
-			list(APPEND UTIL_GL_LIBS
-				${LIBDRM_INTEL_LDFLAGS}
-			)
-		endif()
-	endif()
 
 	if(PIGLIT_HAS_X11)
 		list(APPEND UTIL_GL_LIBS ${X11_X11_LIB})
diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c
index 001b23a1d..525e3aa8d 100644
--- a/tests/util/piglit-framework-gl.c
+++ b/tests/util/piglit-framework-gl.c
@@ -269,23 +269,6 @@ piglit_set_reshape_func(void (*func)(int w, int h))
 		gl_fw->set_reshape_func(gl_fw, func);
 }
 
-enum piglit_result
-piglit_create_dma_buf(unsigned w, unsigned h, unsigned fourcc,
-		      const void *src_data, struct piglit_dma_buf **buf)
-{
-	if (!gl_fw->create_dma_buf)
-		return PIGLIT_SKIP;
-
-	return gl_fw->create_dma_buf(w, h, fourcc, src_data, buf);
-}
-
-void
-piglit_destroy_dma_buf(struct piglit_dma_buf *buf)
-{
-	if (gl_fw->destroy_dma_buf)
-		gl_fw->destroy_dma_buf(buf);
-}
-
 size_t
 piglit_get_selected_tests(const char ***selected_subtests)
 {
diff --git a/tests/util/piglit-framework-gl/piglit_gl_framework.c b/tests/util/piglit-framework-gl/piglit_gl_framework.c
index 845baa14c..961c93111 100644
--- a/tests/util/piglit-framework-gl/piglit_gl_framework.c
+++ b/tests/util/piglit-framework-gl/piglit_gl_framework.c
@@ -104,11 +104,6 @@ piglit_gl_framework_init(struct piglit_gl_framework *gl_fw,
 	validate_supported_apis(test_config);
 	memset(gl_fw, 0, sizeof(*gl_fw));
 
-#ifdef HAVE_LIBDRM
-	gl_fw->create_dma_buf = piglit_drm_create_dma_buf;
-	gl_fw->destroy_dma_buf = piglit_drm_destroy_dma_buf;
-#endif
-
 	gl_fw->test_config = test_config;
 	return true;
 }
-- 
2.12.0



More information about the Piglit mailing list