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 <emil.velikov@collabora.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Jason Ekstrand 2017-03-01 19:03:17 -08:00 committed by Emil Velikov
parent 1d135e2561
commit 12f348bc98
6 changed files with 23 additions and 15 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

2
src/vulkan/wsi/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
wayland-drm-client-protocol.h
wayland-drm-protocol.c

View File

@ -22,7 +22,6 @@
*/
#include <wayland-client.h>
#include <wayland-drm-client-protocol.h>
#include <assert.h>
#include <stdlib.h>
@ -33,6 +32,7 @@
#include <pthread.h>
#include "wsi_common_wayland.h"
#include "wayland-drm-client-protocol.h"
#include <util/hash_table.h>
#include <util/u_vector.h>