[Piglit] [PATCH 17/29] util: Break some util function to core header

Pauli Nieminen pauli.nieminen at linux.intel.com
Mon May 21 11:08:52 PDT 2012


piglit-dispatch-init.c needs some piglit util functions but it may not
include piglit-dispatch.h to keep direct linking to egl and glX possible
if we aren't using waffle.

The core header is minimum set of interfaces required by dispatch init.

Signed-off-by: Pauli Nieminen <pauli.nieminen at linux.intel.com>
---
 tests/util/piglit-dispatch-init.c |    4 +-
 tests/util/piglit-dispatch.h      |   49 +-------------------
 tests/util/piglit-util-core.h     |   92 +++++++++++++++++++++++++++++++++++++
 tests/util/piglit-util.h          |   33 +-------------
 4 files changed, 98 insertions(+), 80 deletions(-)
 create mode 100644 tests/util/piglit-util-core.h

diff --git a/tests/util/piglit-dispatch-init.c b/tests/util/piglit-dispatch-init.c
index 2a4bcf6..dbe9842 100644
--- a/tests/util/piglit-dispatch-init.c
+++ b/tests/util/piglit-dispatch-init.c
@@ -22,7 +22,9 @@
 
 #define _GNU_SOURCE
 #include <dlfcn.h>
-#include "piglit-util.h"
+#include "piglit-util-core.h"
+#include <stdio.h>
+#include <string.h>
 
 #if defined(_WIN32)
 
diff --git a/tests/util/piglit-dispatch.h b/tests/util/piglit-dispatch.h
index 002b8c0..adc01e4 100644
--- a/tests/util/piglit-dispatch.h
+++ b/tests/util/piglit-dispatch.h
@@ -56,36 +56,12 @@
 #include <stdint.h>
 #include <stddef.h>
 
+#include "piglit-util-core.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#ifndef _WIN32
-
-/* APIENTRY and GLAPIENTRY are not used on Linux or Mac. */
-#ifndef APIENTRY
-#define APIENTRY
-#endif
-#ifndef GLAPIENTRY
-#define GLAPIENTRY
-#endif
-
-#else
-
-#ifndef APIENTRY
-#define APIENTRY __stdcall
-#endif
-
-#ifndef GLAPIENTRY
-#define GLAPIENTRY APIENTRY
-#endif
-
-#ifndef GLAPI
-#define GLAPI extern
-#endif
-
-#endif
-
 typedef unsigned int GLenum;
 typedef unsigned int GLbitfield;
 typedef unsigned int GLuint;
@@ -131,27 +107,6 @@ typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severit
 
 typedef void (APIENTRY *piglit_dispatch_function_ptr)(void);
 
-typedef piglit_dispatch_function_ptr (*piglit_get_core_proc_address_function_ptr)(const char *, int);
-
-typedef piglit_dispatch_function_ptr (*piglit_get_ext_proc_address_function_ptr)(const char *);
-
-typedef piglit_dispatch_function_ptr (*piglit_dispatch_resolver_ptr)();
-
-typedef void (*piglit_error_function_ptr)(const char *);
-
-typedef enum {
-	PIGLIT_DISPATCH_GL,
-	PIGLIT_DISPATCH_GL_FWD,
-	PIGLIT_DISPATCH_ES1,
-	PIGLIT_DISPATCH_ES2
-} piglit_dispatch_api;
-
-void piglit_dispatch_init(piglit_dispatch_api api,
-			  piglit_get_core_proc_address_function_ptr get_core_proc,
-			  piglit_get_ext_proc_address_function_ptr get_ext_proc,
-			  piglit_error_function_ptr unsupported_proc,
-			  piglit_error_function_ptr failure_proc);
-
 piglit_dispatch_function_ptr
 piglit_dispatch_resolve_function(const char *name);
 
diff --git a/tests/util/piglit-util-core.h b/tests/util/piglit-util-core.h
new file mode 100644
index 0000000..46dd1c8
--- /dev/null
+++ b/tests/util/piglit-util-core.h
@@ -0,0 +1,92 @@
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(_WIN32)
+#include <windows.h>
+#endif
+
+#if defined(_MSC_VER)
+typedef signed char int8_t;
+typedef __int16 int16_t;
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int8 uint8_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int64 uint64_t;
+#ifndef __cplusplus
+#define bool BOOL
+#define true 1
+#define false 0
+#endif
+#define log2(x) (log(x) / log(2))
+#else
+#include <stdint.h>
+#include <stdbool.h>
+#endif
+
+enum piglit_result {
+	PIGLIT_PASS,
+	PIGLIT_FAIL,
+	PIGLIT_SKIP,
+	PIGLIT_WARN
+};
+
+void piglit_report_result(enum piglit_result result);
+
+#ifndef _WIN32
+
+/* APIENTRY and GLAPIENTRY are not used on Linux or Mac. */
+#ifndef APIENTRY
+#define APIENTRY
+#endif
+#ifndef GLAPIENTRY
+#define GLAPIENTRY
+#endif
+
+#else
+
+#ifndef APIENTRY
+#define APIENTRY __stdcall
+#endif
+
+#ifndef GLAPIENTRY
+#define GLAPIENTRY APIENTRY
+#endif
+
+#ifndef GLAPI
+#define GLAPI extern
+#endif
+
+#endif
+
+typedef enum {
+	PIGLIT_DISPATCH_GL,
+	PIGLIT_DISPATCH_GL_FWD,
+	PIGLIT_DISPATCH_ES1,
+	PIGLIT_DISPATCH_ES2
+} piglit_dispatch_api;
+
+typedef void (APIENTRY *piglit_dispatch_function_ptr)(void);
+
+typedef piglit_dispatch_function_ptr (*piglit_get_core_proc_address_function_ptr)(const char *, int);
+
+typedef piglit_dispatch_function_ptr (*piglit_get_ext_proc_address_function_ptr)(const char *);
+
+typedef piglit_dispatch_function_ptr (*piglit_dispatch_resolver_ptr)();
+
+typedef void (*piglit_error_function_ptr)(const char *);
+
+void piglit_dispatch_init(piglit_dispatch_api api,
+			  piglit_get_core_proc_address_function_ptr get_core_proc,
+			  piglit_get_ext_proc_address_function_ptr get_ext_proc,
+			  piglit_error_function_ptr unsupported_proc,
+			  piglit_error_function_ptr failure_proc);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
index 51c3220..6db440a 100755
--- a/tests/util/piglit-util.h
+++ b/tests/util/piglit-util.h
@@ -30,30 +30,7 @@ extern "C" {
 #endif
 
 #include "config.h"
-
-#if defined(_WIN32)
-#include <windows.h>
-#endif
-
-#if defined(_MSC_VER)
-typedef signed char int8_t;
-typedef __int16 int16_t;
-typedef __int32 int32_t;
-typedef __int64 int64_t;
-typedef unsigned __int8 uint8_t;
-typedef unsigned __int16 uint16_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int64 uint64_t;
-#ifndef __cplusplus
-#define bool BOOL
-#define true 1
-#define false 0
-#endif
-#define log2(x) (log(x) / log(2))
-#else
-#include <stdint.h>
-#include <stdbool.h>
-#endif
+#include "piglit-util-core.h"
 
 #include <assert.h>
 #include <string.h>
@@ -108,13 +85,6 @@ int asprintf(char **strp, const char *fmt, ...)
 
 #define piglit_get_proc_address(x) piglit_dispatch_resolve_function(x)
 
-enum piglit_result {
-	PIGLIT_PASS,
-	PIGLIT_FAIL,
-	PIGLIT_SKIP,
-	PIGLIT_WARN
-};
-
 #include "piglit-framework.h"
 #include "piglit-shader.h"
 #include "piglit-transform-feedback.h"
@@ -203,7 +173,6 @@ void piglit_reset_gl_error(void);
 
 int FindLine(const char *program, int position);
 void piglit_merge_result(enum piglit_result *all, enum piglit_result subtest);
-void piglit_report_result(enum piglit_result result);
 void piglit_require_gl_version(int required_version_times_10);
 void piglit_require_extension(const char *name);
 void piglit_require_not_extension(const char *name);
-- 
1.7.5.4



More information about the Piglit mailing list