From 1fc9abd7d70166f72b44f7ea554ae80472003ed2 Mon Sep 17 00:00:00 2001 From: Dor Askayo Date: Sat, 22 Oct 2016 22:20:29 +0300 Subject: loader: fix duplicate detection of manifests when CMAKE_INSTALL_PREFIX is defined This commit fixes GH-1084. (see the issue for more details) Note that this adds /usr/local/etc and /usr/local/share to the loader's search path for drivers and layers. Change-Id: I2cf502cc7d905225c8d38383ea6f856a4daed3ea Signed-off-by: Dor Askayo --- loader/vk_loader_platform.h | 62 ++++++++++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 23 deletions(-) (limited to 'loader') diff --git a/loader/vk_loader_platform.h b/loader/vk_loader_platform.h index 264a6a82..d13b645a 100644 --- a/loader/vk_loader_platform.h +++ b/loader/vk_loader_platform.h @@ -57,40 +57,56 @@ #define VULKAN_ILAYERCONF_DIR "implicit_layer.d" #define VULKAN_LAYER_DIR "layer" -#if defined(LOCALPREFIX) -#define LOCAL_DRIVERS_INFO \ - SYSCONFDIR VULKAN_DIR VULKAN_ICDCONF_DIR ":" \ - DATADIR VULKAN_DIR VULKAN_ICDCONF_DIR ":" -#define LOCAL_ELAYERS_INFO \ - SYSCONFDIR VULKAN_DIR VULKAN_ELAYERCONF_DIR ":" \ - DATADIR VULKAN_DIR VULKAN_ELAYERCONF_DIR ":" -#define LOCAL_ILAYERS_INFO \ - SYSCONFDIR VULKAN_DIR VULKAN_ILAYERCONF_DIR ":" \ - DATADIR VULKAN_DIR VULKAN_ILAYERCONF_DIR ":" +#if defined(EXTRASYSCONFDIR) +#define EXTRA_DRIVERS_SYSCONFDIR_INFO ":" \ + EXTRASYSCONFDIR VULKAN_DIR VULKAN_ICDCONF_DIR +#define EXTRA_ELAYERS_SYSCONFDIR_INFO ":" \ + EXTRASYSCONFDIR VULKAN_DIR VULKAN_ELAYERCONF_DIR +#define EXTRA_ILAYERS_SYSCONFDIR_INFO ":" \ + EXTRASYSCONFDIR VULKAN_DIR VULKAN_ILAYERCONF_DIR #else -#define LOCAL_DRIVERS_INFO -#define LOCAL_ELAYERS_INFO -#define LOCAL_ILAYERS_INFO +#define EXTRA_DRIVERS_SYSCONFDIR_INFO +#define EXTRA_ELAYERS_SYSCONFDIR_INFO +#define EXTRA_ILAYERS_SYSCONFDIR_INFO +#endif + +#if defined(EXTRADATADIR) +#define EXTRA_DRIVERS_DATADIR_INFO ":" \ + EXTRADATADIR VULKAN_DIR VULKAN_ICDCONF_DIR +#define EXTRA_ELAYERS_DATADIR_INFO ":" \ + EXTRADATADIR VULKAN_DIR VULKAN_ELAYERCONF_DIR +#define EXTRA_ILAYERS_DATADIR_INFO ":" \ + EXTRADATADIR VULKAN_DIR VULKAN_ILAYERCONF_DIR +#else +#define EXTRA_DRIVERS_DATADIR_INFO +#define EXTRA_ELAYERS_DATADIR_INFO +#define EXTRA_ILAYERS_DATADIR_INFO #endif #define DEFAULT_VK_DRIVERS_INFO \ - LOCAL_DRIVERS_INFO \ - SYSCONFDIR VULKAN_DIR VULKAN_ICDCONF_DIR ":" \ - DATADIR VULKAN_DIR VULKAN_ICDCONF_DIR -#define DEFAULT_VK_DRIVERS_PATH "" + SYSCONFDIR VULKAN_DIR VULKAN_ICDCONF_DIR ":" \ + DATADIR VULKAN_DIR VULKAN_ICDCONF_DIR \ + EXTRA_DRIVERS_SYSCONFDIR_INFO \ + EXTRA_DRIVERS_DATADIR_INFO #define DEFAULT_VK_ELAYERS_INFO \ - LOCAL_ELAYERS_INFO \ - SYSCONFDIR VULKAN_DIR VULKAN_ELAYERCONF_DIR ":" \ - DATADIR VULKAN_DIR VULKAN_ELAYERCONF_DIR + SYSCONFDIR VULKAN_DIR VULKAN_ELAYERCONF_DIR ":" \ + DATADIR VULKAN_DIR VULKAN_ELAYERCONF_DIR \ + EXTRA_ELAYERS_SYSCONFDIR_INFO \ + EXTRA_ELAYERS_DATADIR_INFO #define DEFAULT_VK_ILAYERS_INFO \ - LOCAL_ILAYERS_INFO \ - SYSCONFDIR VULKAN_DIR VULKAN_ILAYERCONF_DIR ":" \ - DATADIR VULKAN_DIR VULKAN_ILAYERCONF_DIR + SYSCONFDIR VULKAN_DIR VULKAN_ILAYERCONF_DIR ":" \ + DATADIR VULKAN_DIR VULKAN_ILAYERCONF_DIR \ + EXTRA_ILAYERS_SYSCONFDIR_INFO \ + EXTRA_ILAYERS_DATADIR_INFO + +#define DEFAULT_VK_DRIVERS_PATH "" #define DEFAULT_VK_LAYERS_PATH "" + #if !defined(LAYERS_SOURCE_PATH) #define LAYERS_SOURCE_PATH NULL #endif #define LAYERS_PATH_ENV "VK_LAYER_PATH" + #define HOME_VK_DRIVERS_INFO VULKAN_DIR VULKAN_ICDCONF_DIR #define HOME_VK_ELAYERS_INFO VULKAN_DIR VULKAN_ELAYERCONF_DIR #define HOME_VK_ILAYERS_INFO VULKAN_DIR VULKAN_ILAYERCONF_DIR -- cgit v1.2.3