summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Faye-Lund <erik.faye-lund@collabora.com>2020-04-16 23:35:42 +0200
committerErik Faye-Lund <erik.faye-lund@collabora.com>2020-04-20 11:53:23 +0200
commita81375c8e14eb45f1eaefa8f83f82d2b90239398 (patch)
tree208f4762f3e080d61008b98f6760d967f48e965f
parenta394b83f5292be58cd538322521457b8bf05d84a (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.c25
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)
{