From 12f348bc987991f7014996841c5e37887bcae228 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 1 Mar 2017 19:03:17 -0800 Subject: [PATCH] vulkan/wsi: Generate wayland protocol headers separately from EGL Previously, we were depending on EGL for generating the headers and providing the protocol symbols. However, since neither Vulkan driver actually wants to link against EGL, this is kind of pointless. It also creates a weird build dependency. v2 [Jason] - Add missing wsi/ prefix, MKDIR_GEN v3 [Emil Velikov] - include BUILT_SOURCES/generation rules outside of conditional Reviewed-by: Emil Velikov Reviewed-by: Jason Ekstrand --- src/amd/vulkan/Makefile.am | 3 --- src/intel/vulkan/Makefile.am | 7 ------- src/vulkan/Makefile.am | 20 ++++++++++++++++---- src/vulkan/Makefile.sources | 4 ++++ src/vulkan/wsi/.gitignore | 2 ++ src/vulkan/wsi/wsi_common_wayland.c | 2 +- 6 files changed, 23 insertions(+), 15 deletions(-) create mode 100644 src/vulkan/wsi/.gitignore diff --git a/src/amd/vulkan/Makefile.am b/src/amd/vulkan/Makefile.am index 3379a3d..fbd9f5a 100644 --- a/src/amd/vulkan/Makefile.am +++ b/src/amd/vulkan/Makefile.am @@ -77,15 +77,12 @@ endif if HAVE_PLATFORM_WAYLAND AM_CPPFLAGS += \ - -I$(top_builddir)/src/egl/wayland/wayland-drm \ - -I$(top_srcdir)/src/egl/wayland/wayland-drm \ $(WAYLAND_CFLAGS) \ -DVK_USE_PLATFORM_WAYLAND_KHR VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES) VULKAN_LIB_DEPS += \ - $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \ $(WAYLAND_LIBS) endif diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am index 3cd01e4..6c902b5 100644 --- a/src/intel/vulkan/Makefile.am +++ b/src/intel/vulkan/Makefile.am @@ -63,12 +63,6 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src/intel \ -I$(top_srcdir)/src/intel -if HAVE_PLATFORM_WAYLAND -AM_CPPFLAGS += \ - -I$(top_builddir)/src/egl/wayland/wayland-drm \ - -I$(top_srcdir)/src/egl/wayland/wayland-drm -endif - AM_CPPFLAGS += \ $(LIBDRM_CFLAGS) \ $(INTEL_CFLAGS) \ @@ -119,7 +113,6 @@ AM_CPPFLAGS += \ VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES) VULKAN_LIB_DEPS += \ - $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \ $(WAYLAND_LIBS) endif diff --git a/src/vulkan/Makefile.am b/src/vulkan/Makefile.am index f7aca8e..f8d6fae 100644 --- a/src/vulkan/Makefile.am +++ b/src/vulkan/Makefile.am @@ -48,17 +48,29 @@ VULKAN_WSI_SOURCES += $(VULKAN_WSI_X11_FILES) VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb endif +BUILT_SOURCES += $(VULKAN_WSI_WAYLAND_GENERATED_FILES) +CLEANFILES = $(BUILT_SOURCES) + +WL_DRM_XML = $(top_srcdir)/src/egl/wayland/wayland-drm/wayland-drm.xml + +wsi/wayland-drm-protocol.c : $(WL_DRM_XML) + $(MKDIR_GEN) + $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@ + +wsi/wayland-drm-client-protocol.h : $(WL_DRM_XML) + $(MKDIR_GEN) + $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@ + if HAVE_PLATFORM_WAYLAND AM_CPPFLAGS += \ - -I$(top_builddir)/src/egl/wayland/wayland-drm \ - -I$(top_srcdir)/src/egl/wayland/wayland-drm \ $(WAYLAND_CFLAGS) \ -DVK_USE_PLATFORM_WAYLAND_KHR -VULKAN_WSI_SOURCES += $(VULKAN_WSI_WAYLAND_FILES) +VULKAN_WSI_SOURCES += \ + $(VULKAN_WSI_WAYLAND_FILES) \ + $(VULKAN_WSI_WAYLAND_GENERATED_FILES) VULKAN_LIB_DEPS += \ - $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \ $(WAYLAND_LIBS) endif diff --git a/src/vulkan/Makefile.sources b/src/vulkan/Makefile.sources index 7510d72..63f4ac1 100644 --- a/src/vulkan/Makefile.sources +++ b/src/vulkan/Makefile.sources @@ -7,6 +7,10 @@ VULKAN_WSI_WAYLAND_FILES := \ wsi/wsi_common_wayland.c \ wsi/wsi_common_wayland.h +VULKAN_WSI_WAYLAND_GENERATED_FILES := \ + wsi/wayland-drm-protocol.c \ + wsi/wayland-drm-client-protocol.h + VULKAN_WSI_X11_FILES := \ wsi/wsi_common_x11.c \ wsi/wsi_common_x11.h diff --git a/src/vulkan/wsi/.gitignore b/src/vulkan/wsi/.gitignore new file mode 100644 index 0000000..0b7b71b --- /dev/null +++ b/src/vulkan/wsi/.gitignore @@ -0,0 +1,2 @@ +wayland-drm-client-protocol.h +wayland-drm-protocol.c diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c index 67ac0b8..2e47183 100644 --- a/src/vulkan/wsi/wsi_common_wayland.c +++ b/src/vulkan/wsi/wsi_common_wayland.c @@ -22,7 +22,6 @@ */ #include -#include #include #include @@ -33,6 +32,7 @@ #include #include "wsi_common_wayland.h" +#include "wayland-drm-client-protocol.h" #include #include -- 2.7.4