[Mesa-dev] [PATCH 05/17] vulkan/wsi: Generate wayland protocol headers separately from EGL
Jason Ekstrand
jason at jlekstrand.net
Wed Mar 8 17:31:07 UTC 2017
On Wed, Mar 8, 2017 at 9:15 AM, Emil Velikov <emil.l.velikov at gmail.com>
wrote:
> From: Jason Ekstrand <jason.ekstrand at intel.com>
>
> 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 at collabora.com>
> ---
> 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 3379a3d6a8..fbd9f5a030 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 3cd01e4d02..6c902b52e1 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 f7aca8e937..f8d6fae40b 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 < $< > $@
>
Is this why you replace WAYLAND_SCANNER with ":" when it doesn't exist? My
understanding of the two options (in or outside the if) are as follows:
If we put it inside the if then a reconfigure can cause it to not "make
clean" properly.
If we put it outside the if, then we have to be able to run the above two
rules without wayland-scanner
Is that a good sum-up? If so, then replacing it with ":" seems reasonable
assuming that actually works. :-)
> +
> 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 7510d7264e..63f4ac1162 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 0000000000..0b7b71bb66
> --- /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 67ac0b8372..2e47183b9d 100644
> --- a/src/vulkan/wsi/wsi_common_wayland.c
> +++ b/src/vulkan/wsi/wsi_common_wayland.c
> @@ -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>
> --
> 2.11.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170308/07cda42d/attachment.html>
More information about the mesa-dev
mailing list