diff options
author | Rob Clark <robdclark@gmail.com> | 2017-05-03 12:50:00 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2017-05-08 13:47:26 -0400 |
commit | b98f30e99d2650cde62c861eadb73e47e3a285ef (patch) | |
tree | 952bbca7bcab481467dd88ac8719950cd83f4c30 /common.h | |
parent | 4d322e94f08c567a5ff467e21f5b41dab4160bdb (diff) | |
download | kmscube-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.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -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); |