summaryrefslogtreecommitdiff
path: root/gdk/gdk.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-11-29 15:35:04 +0100
committerBenjamin Otte <otte@redhat.com>2016-12-09 18:35:51 +0100
commitb6227aa998cf8e9a965b02b1fdf224e5090e5872 (patch)
treec384fe3a411f2907c9ed92d67226f5bb6e8ac33a /gdk/gdk.c
parente11a6a0e68fcddeaffb9133645508d33da95b428 (diff)
downloadgtk+-b6227aa998cf8e9a965b02b1fdf224e5090e5872.tar.gz
gdk: Add GDK_VULKAN env variable
Also add 2 flags: GDK_VULKAN="disable" will disable Vulkan usage. GDK_VULKAN="validate" will enable VK_LAYER_LUNARG_standard_validation.
Diffstat (limited to 'gdk/gdk.c')
-rw-r--r--gdk/gdk.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdk/gdk.c b/gdk/gdk.c
index a59a874513..abcbfd28d4 100644
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -150,6 +150,11 @@ static const GDebugKey gdk_gl_keys[] = {
{ "gles", GDK_GL_GLES },
};
+static const GDebugKey gdk_vulkan_keys[] = {
+ { "disable", GDK_VULKAN_DISABLE },
+ { "validate", GDK_VULKAN_VALIDATE },
+};
+
#ifdef G_ENABLE_DEBUG
static const GDebugKey gdk_debug_keys[] = {
{ "events", GDK_DEBUG_EVENTS },
@@ -276,7 +281,7 @@ void
gdk_pre_parse (void)
{
const char *rendering_mode;
- const gchar *gl_string;
+ const gchar *gl_string, *vulkan_string;
gdk_initialized = TRUE;
@@ -305,6 +310,12 @@ gdk_pre_parse (void)
(GDebugKey *) gdk_gl_keys,
G_N_ELEMENTS (gdk_gl_keys));
+ vulkan_string = getenv("GDK_VULKAN");
+ if (vulkan_string != NULL)
+ _gdk_vulkan_flags = g_parse_debug_string (vulkan_string,
+ (GDebugKey *) gdk_vulkan_keys,
+ G_N_ELEMENTS (gdk_vulkan_keys));
+
if (getenv ("GDK_NATIVE_WINDOWS"))
{
g_warning ("The GDK_NATIVE_WINDOWS environment variable is not supported in GTK3.\n"