anv: automake: use VISIBILITY_CFLAGS to restrict symbol visibility
authorEmil Velikov <emil.velikov@collabora.com>
Thu, 28 Jul 2016 13:40:08 +0000 (14:40 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 18 Aug 2016 13:53:30 +0000 (14:53 +0100)
Hide the internal symbols and annotate the vk_icdGetInstanceProcAddr as public
since the loader needs it (since v1 of the loader interface).

v2: Add VISIBILITY_CFLAGS to AM_CFLAGS (Ken)

Cc: "12.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> (v1)
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
src/intel/vulkan/Makefile.am
src/intel/vulkan/anv_device.c

index 73db8f5..c621c34 100644 (file)
@@ -61,7 +61,9 @@ AM_CPPFLAGS = \
        -I$(top_builddir)/src/intel \
        -I$(top_srcdir)/src/intel
 
-AM_CFLAGS = -Wno-override-init -msse2
+AM_CFLAGS = \
+       $(VISIBILITY_CFLAGS) \
+       -Wno-override-init -msse2
 
 libanv_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70
 libanv_gen7_la_SOURCES = $(GEN7_FILES)
index e64790e..3f1334b 100644 (file)
@@ -659,13 +659,15 @@ PFN_vkVoidFunction anv_GetInstanceProcAddr(
    return anv_lookup_entrypoint(pName);
 }
 
-/* The loader wants us to expose a second GetInstanceProcAddr function
- * to work around certain LD_PRELOAD issues seen in apps.
+/* With version 1+ of the loader interface the ICD should expose
+ * vk_icdGetInstanceProcAddr to work around certain LD_PRELOAD issues seen in apps.
  */
+PUBLIC
 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr(
     VkInstance                                  instance,
     const char*                                 pName);
 
+PUBLIC
 VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr(
     VkInstance                                  instance,
     const char*                                 pName)