summaryrefslogtreecommitdiff
path: root/common.h
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2017-05-03 12:50:00 -0400
committerRob Clark <robdclark@gmail.com>2017-05-08 13:47:26 -0400
commitb98f30e99d2650cde62c861eadb73e47e3a285ef (patch)
tree952bbca7bcab481467dd88ac8719950cd83f4c30 /common.h
parent4d322e94f08c567a5ff467e21f5b41dab4160bdb (diff)
downloadkmscube-b98f30e99d2650cde62c861eadb73e47e3a285ef.tar.gz
helper to check for egl entrypoints
Remove some boilerplate and check more specifically for all the entry- points that different modules need. Ok, I guess it isn't likely for a driver to expose eglCreateImageKHR but not eglDeleteImageKHR.. but otoh kmscube is useful for bringing up drivers. Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Diffstat (limited to 'common.h')
-rw-r--r--common.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/common.h b/common.h
index 0acf4c0..11ec26e 100644
--- a/common.h
+++ b/common.h
@@ -85,6 +85,17 @@ struct egl {
void (*draw)(unsigned i);
};
+static inline int __egl_check(void *ptr, const char *name)
+{
+ if (!ptr) {
+ printf("no %s\n", name);
+ return -1;
+ }
+ return 0;
+}
+
+#define egl_check(egl, name) __egl_check((egl)->name, #name)
+
int init_egl(struct egl *egl, const struct gbm *gbm);
int create_program(const char *vs_src, const char *fs_src);
int link_program(unsigned program);