diff options
author | Erik Faye-Lund <erik.faye-lund@collabora.com> | 2020-04-16 23:35:42 +0200 |
---|---|---|
committer | Erik Faye-Lund <erik.faye-lund@collabora.com> | 2020-04-20 11:53:23 +0200 |
commit | a81375c8e14eb45f1eaefa8f83f82d2b90239398 (patch) | |
tree | 208f4762f3e080d61008b98f6760d967f48e965f | |
parent | a394b83f5292be58cd538322521457b8bf05d84a (diff) |
wglgears: implemenmt wgl-extension helper
This helper allows us to check if a WGL-extension is supported or not.
It will be used in the next commit.
Reviewed-by: Brian Paul <brianp@vmware.com>
-rw-r--r-- | src/wgl/wglgears.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/wgl/wglgears.c b/src/wgl/wglgears.c index 973930e6..2e1e9a1e 100644 --- a/src/wgl/wglgears.c +++ b/src/wgl/wglgears.c @@ -529,6 +529,31 @@ draw_frame() } } +/** + * Determine whether or not a WGL extension is supported. + */ +static int +is_wgl_extension_supported(HDC hdc, const char *query) +{ + static const char *wgl_extensions = NULL; + const size_t len = strlen(query); + const char *ptr; + + if (wgl_extensions == NULL) { + PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB_func = + (PFNWGLGETEXTENSIONSSTRINGARBPROC) + wglGetProcAddress("wglGetExtensionsStringARB"); + if (!wglGetExtensionsStringARB_func) + return 0; + + wgl_extensions = wglGetExtensionsStringARB_func(hdc); + } + + ptr = strstr(wgl_extensions, query); + return ((ptr != NULL) && ((ptr[len] == ' ') || (ptr[len] == '\0'))); +} + + static void event_loop(void) { |