[metacity] build: don't build Vulkan compositor if not enabled
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [metacity] build: don't build Vulkan compositor if not enabled
- Date: Fri, 13 Sep 2019 12:38:01 +0000 (UTC)
commit 3b2f2fb6a8d29efabeb511b9407c6f6762827abd
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Fri Sep 13 15:14:16 2019 +0300
build: don't build Vulkan compositor if not enabled
configure.ac | 2 ++
src/Makefile.am | 9 +++++++--
src/compositor/meta-compositor-vulkan.c | 19 +------------------
src/compositor/meta-compositor.c | 2 +-
src/core/display.c | 8 ++++++++
5 files changed, 19 insertions(+), 21 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d786704c..17fcd1de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -361,6 +361,8 @@ AS_IF([test "x$enable_vulkan" != "xno"], [
])
], [found_vulkan=no])
+AM_CONDITIONAL([HAVE_VULKAN], [test "x$found_vulkan" = "xyes"])
+
dnl **************************************************************************
dnl Process .in files
dnl **************************************************************************
diff --git a/src/Makefile.am b/src/Makefile.am
index 383ae884..b0d8ac53 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -32,8 +32,6 @@ metacity_SOURCES= \
compositor/meta-compositor-private.h \
compositor/meta-compositor-xrender.c \
compositor/meta-compositor-xrender.h \
- compositor/meta-compositor-vulkan.c \
- compositor/meta-compositor-vulkan.h \
include/meta-compositor.h \
core/above-tab-keycode.c \
core/constraints.c \
@@ -115,6 +113,13 @@ metacity_SOURCES= \
ui/ui-private.h \
$(NULL)
+if HAVE_VULKAN
+metacity_SOURCES += \
+ compositor/meta-compositor-vulkan.c \
+ compositor/meta-compositor-vulkan.h \
+ $(NULL)
+endif
+
bin_PROGRAMS=metacity
metacity_LDADD=@METACITY_LIBS@ $(top_builddir)/libmetacity/libmetacity.la
diff --git a/src/compositor/meta-compositor-vulkan.c b/src/compositor/meta-compositor-vulkan.c
index e23d9dd9..66850f55 100644
--- a/src/compositor/meta-compositor-vulkan.c
+++ b/src/compositor/meta-compositor-vulkan.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2017 Alberts Muktupāvels
+ * Copyright (C) 2017-2019 Alberts Muktupāvels
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -17,10 +17,8 @@
#include "config.h"
-#ifdef HAVE_VULKAN
#define VK_USE_PLATFORM_XLIB_KHR
#include <vulkan/vulkan.h>
-#endif
#include "display-private.h"
#include "meta-compositor-vulkan.h"
@@ -35,7 +33,6 @@ struct _MetaCompositorVulkan
gboolean lunarg_validation_layer;
gboolean debug_report_extension;
-#ifdef HAVE_VULKAN
VkInstance instance;
VkDebugReportCallbackEXT debug_callback;
@@ -72,12 +69,10 @@ struct _MetaCompositorVulkan
uint32_t n_command_buffers;
VkCommandBuffer *command_buffers;
-#endif
};
G_DEFINE_TYPE (MetaCompositorVulkan, meta_compositor_vulkan, META_TYPE_COMPOSITOR)
-#ifdef HAVE_VULKAN
static void
destroy_command_buffers (MetaCompositorVulkan *vulkan)
{
@@ -1124,12 +1119,10 @@ create_semaphore (MetaCompositorVulkan *vulkan,
return TRUE;
}
-#endif
static void
meta_compositor_vulkan_finalize (GObject *object)
{
-#ifdef HAVE_VULKAN
MetaCompositorVulkan *vulkan;
vulkan = META_COMPOSITOR_VULKAN (object);
@@ -1183,12 +1176,10 @@ meta_compositor_vulkan_finalize (GObject *object)
vkDestroyInstance (vulkan->instance, NULL);
vulkan->instance = VK_NULL_HANDLE;
}
-#endif
G_OBJECT_CLASS (meta_compositor_vulkan_parent_class)->finalize (object);
}
-#ifdef HAVE_VULKAN
static gboolean
not_implemented_cb (MetaCompositorVulkan *vulkan)
{
@@ -1205,13 +1196,11 @@ not_implemented_cb (MetaCompositorVulkan *vulkan)
return G_SOURCE_REMOVE;
}
-#endif
static gboolean
meta_compositor_vulkan_manage (MetaCompositor *compositor,
GError **error)
{
-#ifdef HAVE_VULKAN
MetaCompositorVulkan *vulkan;
vulkan = META_COMPOSITOR_VULKAN (compositor);
@@ -1269,12 +1258,6 @@ meta_compositor_vulkan_manage (MetaCompositor *compositor,
g_timeout_add (10000, (GSourceFunc) not_implemented_cb, vulkan);
return TRUE;
-#else
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Compiled without Vulkan support");
-
- return FALSE;
-#endif
}
static void
diff --git a/src/compositor/meta-compositor.c b/src/compositor/meta-compositor.c
index abe81122..3916dc6c 100644
--- a/src/compositor/meta-compositor.c
+++ b/src/compositor/meta-compositor.c
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2008 Iain Holmes
- * Copyright (C) 2017 Alberts Muktupāvels
+ * Copyright (C) 2017-2019 Alberts Muktupāvels
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/core/display.c b/src/core/display.c
index 1ddb4505..555543f8 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -68,7 +68,10 @@
#include "compositor/meta-compositor-none.h"
#include "compositor/meta-compositor-xrender.h"
+
+#ifdef HAVE_VULKAN
#include "compositor/meta-compositor-vulkan.h"
+#endif
#define GRAB_OP_IS_WINDOW_SWITCH(g) \
(g == META_GRAB_OP_KEYBOARD_TABBING_NORMAL || \
@@ -308,7 +311,12 @@ create_compositor (MetaDisplay *display,
break;
case META_COMPOSITOR_TYPE_VULKAN:
+#ifdef HAVE_VULKAN
compositor = meta_compositor_vulkan_new (display, error);
+#else
+ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Compiled without Vulkan support");
+#endif
break;
default:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]