aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Lentine <mlentine@google.com>2015-12-03 14:33:09 -0800
committerMark Lobodzinski <mark@lunarg.com>2015-12-11 15:32:58 -0700
commit6ce6c20b154a89b9e50646d6bb70b7da763abc87 (patch)
tree5b471e3d6c0cadf633fdd0b777b899c6d82e166b
parentc862cd354e1eaea10c41024f3a2fc4eef58ddacd (diff)
downloadusermoji-6ce6c20b154a89b9e50646d6bb70b7da763abc87.tar.xz
android: Fix android build.
Temporarily disable shader checker which now depends on glslang Fix xcb guards and set the ifdef based on platform
-rw-r--r--buildAndroid/jni/Application.mk2
-rw-r--r--include/vulkan/vk_layer.h12
-rw-r--r--layers/apidump.h3
-rw-r--r--layers/object_track.h3
-rwxr-xr-xvk-layer-generate.py85
5 files changed, 70 insertions, 35 deletions
diff --git a/buildAndroid/jni/Application.mk b/buildAndroid/jni/Application.mk
index 1962e681..d89707fe 100644
--- a/buildAndroid/jni/Application.mk
+++ b/buildAndroid/jni/Application.mk
@@ -15,6 +15,6 @@
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64 mips mips64
APP_PLATFORM := android-22
APP_STL := gnustl_static
-APP_MODULES := layer_utils VKLayerBasic VKLayerDrawState VKLayerMemTracker VKLayerShaderCheker VKLayerImage VKLayerParamChecker VKLayerGeneric VKLayerAPIDump VKLayerObjectTracker VKLayerThreading VKLayerValidationTests
+APP_MODULES := layer_utils VKLayerBasic VKLayerDrawState VKLayerMemTracker VKLayerImage VKLayerParamChecker VKLayerGeneric VKLayerAPIDump VKLayerObjectTracker VKLayerThreading VKLayerValidationTests
APP_CPPFLAGS += -std=c++11 -DVK_PROTOTYPES
NDK_TOOLCHAIN_VERSION := 4.8
diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h
index 47165f77..31040c0e 100644
--- a/include/vulkan/vk_layer.h
+++ b/include/vulkan/vk_layer.h
@@ -14,6 +14,18 @@
#else
# define VK_LAYER_EXPORT
#endif
+#if defined(__ANDROID__)
+#define VK_USE_PLATFORM_ANDROID_KHR
+#elif defined(_WIN32)
+#define VK_USE_PLATFORM_WIN32_KHR
+#elif defined(__unix__)
+#define VK_USE_PLATFORM_MIR_KHR
+#define VK_USE_PLATFORM_WAYLAND_KHR
+#define VK_USE_PLATFORM_XLIB_KHR
+#define VK_USE_PLATFORM_XCB_KHR
+#else
+#error "Unsupported Platform!"
+#endif
typedef void * (VKAPI_PTR *PFN_vkGPA)(void* obj, const char * pName);
typedef struct VkBaseLayerObject_
diff --git a/layers/apidump.h b/layers/apidump.h
index c61439ec..274e42c4 100644
--- a/layers/apidump.h
+++ b/layers/apidump.h
@@ -1,6 +1,7 @@
/*
*
* Copyright (C) 2015 Valve Corporation
+ * Copyright (C) 2015 Google Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -95,7 +96,7 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo* pCreate
#if VK_USE_PLATFORM_WIN32_KHR
pDisp->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) gpa(instance, "vkCreateWin32SurfaceKHR");
pDisp->GetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
-#else // VK_USE_PLATFORM_XCB_KHR
+#elif VK_USE_PLATFORM_XCB_KHR
pDisp->CreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR) gpa(instance, "vkCreateXcbSurfaceKHR");
pDisp->GetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
#endif
diff --git a/layers/object_track.h b/layers/object_track.h
index 43089178..6debcb97 100644
--- a/layers/object_track.h
+++ b/layers/object_track.h
@@ -1,6 +1,7 @@
/*
*
* Copyright (C) 2015 Valve Corporation
+ * Copyright (C) 2015 Google Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -218,7 +219,7 @@ static void createInstanceRegisterExtensions(const VkInstanceCreateInfo* pCreate
#if VK_USE_PLATFORM_WIN32_KHR
pDisp->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) gpa(instance, "vkCreateWin32SurfaceKHR");
pDisp->GetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
-#else // VK_USE_PLATFORM_XCB_KHR
+#elif VK_USE_PLATFORM_XCB_KHR
pDisp->CreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR) gpa(instance, "vkCreateXcbSurfaceKHR");
pDisp->GetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR) gpa(instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
#endif
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index cc1fb425..5218ec52 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -3,6 +3,7 @@
# VK
#
# Copyright (C) 2015 Valve Corporation
+# Copyright (C) 2015 Google Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
@@ -430,8 +431,12 @@ class Subcommand(object):
func_body.append(' {')
extra_space = " "
for ext_name in ext_list:
+ if 'Xcb' in ext_name:
+ func_body.append("#ifdef VK_USE_PLATFORM_XCB_KHR")
func_body.append(' %sif (!strcmp("%s", funcName))\n'
' return reinterpret_cast<PFN_vkVoidFunction>(%s);' % (extra_space, ext_name, ext_name))
+ if 'Xcb' in ext_name:
+ func_body.append("#endif //VK_USE_PLATFORM_XCB_KHR")
if 0 != len(ext_enable):
func_body.append(' }\n')
@@ -536,8 +541,12 @@ class Subcommand(object):
func_body.append(' {')
extra_space = " "
for ext_name in ext_list:
+ if 'Xcb' in ext_name:
+ func_body.append('#ifdef VK_USE_PLATFORM_XCB_KHR')
func_body.append(' %sif (!strcmp("%s", funcName))\n'
' return reinterpret_cast<PFN_vkVoidFunction>(%s);' % (extra_space, ext_name, ext_name))
+ if 'Xcb' in ext_name:
+ func_body.append('#endif //VK_USE_PLATFORM_XCB_KHR')
if 0 != len(ext_enable):
func_body.append(' }\n')
@@ -739,6 +748,8 @@ class GenericLayerSubcommand(Subcommand):
' return result;\n'
'}\n' % (qual, decl, ret_val, proto.c_call(), proto.name))
else:
+ if 'Xcb' in proto.name:
+ funcs.append("#ifdef VK_USE_PLATFORM_XCB_KHR")
funcs.append('%s' % self.lineinfo.get())
dispatch_param = proto.params[0].name
# Must use 'instance' table for these APIs, 'device' table otherwise
@@ -752,6 +763,8 @@ class GenericLayerSubcommand(Subcommand):
' %s%s_dispatch_table(%s)->%s;\n'
'%s'
'}' % (qual, decl, ret_val, table_type, dispatch_param, proto.c_call(), stmt))
+ if 'Xcb' in proto.name:
+ funcs.append("#endif //VK_USE_PLATFORM_XCB_KHR")
return "\n\n".join(funcs)
def generate_body(self):
@@ -1159,6 +1172,8 @@ class APIDumpSubcommand(Subcommand):
'%s'
'}' % (qual, decl, table_type, dispatch_param, ret_val, proto.c_call(), f_open, log_func, f_close, stmt))
else:
+ if 'Xcb' in decl:
+ funcs.append('#ifdef VK_USE_PLATFORM_XCB_KHR')
funcs.append('%s%s\n'
'{\n'
' using namespace StreamControl;\n'
@@ -1166,25 +1181,27 @@ class APIDumpSubcommand(Subcommand):
' %s%s%s\n'
'%s'
'}' % (qual, decl, ret_val, table_type, dispatch_param, proto.c_call(), f_open, log_func, f_close, stmt))
+ if 'Xcb' in decl:
+ funcs.append('#endif //VK_USE_PLATFORM_XCB_KHR')
return "\n\n".join(funcs)
def generate_body(self):
self.layer_name = "APIDump"
- if sys.platform == 'win32':
- instance_extensions=[('wsi_enabled',
- ['vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateWin32SurfaceKHR',
- 'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]
- else:
- instance_extensions=[('wsi_enabled',
- ['vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateXcbSurfaceKHR',
+ if sys.platform == 'win32':
+ instance_extensions=[('wsi_enabled',
+ ['vkGetPhysicalDeviceSurfaceSupportKHR',
+ 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+ 'vkGetPhysicalDeviceSurfaceFormatsKHR',
+ 'vkGetPhysicalDeviceSurfacePresentModesKHR',
+ 'vkCreateWin32SurfaceKHR',
+ 'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]
+ else:
+ instance_extensions=[('wsi_enabled',
+ ['vkGetPhysicalDeviceSurfaceSupportKHR',
+ 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+ 'vkGetPhysicalDeviceSurfaceFormatsKHR',
+ 'vkGetPhysicalDeviceSurfacePresentModesKHR',
+ 'vkCreateXcbSurfaceKHR',
'vkGetPhysicalDeviceXcbPresentationSupportKHR'])]
extensions=[('wsi_enabled',
['vkCreateSwapchainKHR',
@@ -1707,6 +1724,8 @@ class ObjectTrackerSubcommand(Subcommand):
table_type = "instance"
else:
table_type = "device"
+ if 'Xcb' in proto.name:
+ funcs.append("#ifdef VK_USE_PLATFORM_XCB_KHR")
funcs.append('%s%s\n'
'{\n'
'%s'
@@ -1715,6 +1734,8 @@ class ObjectTrackerSubcommand(Subcommand):
'%s'
'%s'
'}' % (qual, decl, using_line, destroy_line, ret_val, table_type, dispatch_param, proto.c_call(), create_line, stmt))
+ if 'Xcb' in proto.name:
+ funcs.append("#endif //VK_USE_PLATFORM_XCB_KHR")
return "\n\n".join(funcs)
def generate_body(self):
@@ -1723,23 +1744,23 @@ class ObjectTrackerSubcommand(Subcommand):
['vkCreateSwapchainKHR',
'vkDestroySwapchainKHR', 'vkGetSwapchainImagesKHR',
'vkAcquireNextImageKHR', 'vkQueuePresentKHR'])]
- if sys.platform == 'win32':
- instance_extensions=[('msg_callback_get_proc_addr', []),
- ('wsi_enabled',
- ['vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateWin32SurfaceKHR',
- 'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]
- else:
- instance_extensions=[('msg_callback_get_proc_addr', []),
- ('wsi_enabled',
- ['vkGetPhysicalDeviceSurfaceSupportKHR',
- 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
- 'vkGetPhysicalDeviceSurfaceFormatsKHR',
- 'vkGetPhysicalDeviceSurfacePresentModesKHR',
- 'vkCreateXcbSurfaceKHR',
+ if sys.platform == 'win32':
+ instance_extensions=[('msg_callback_get_proc_addr', []),
+ ('wsi_enabled',
+ ['vkGetPhysicalDeviceSurfaceSupportKHR',
+ 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+ 'vkGetPhysicalDeviceSurfaceFormatsKHR',
+ 'vkGetPhysicalDeviceSurfacePresentModesKHR',
+ 'vkCreateWin32SurfaceKHR',
+ 'vkGetPhysicalDeviceWin32PresentationSupportKHR'])]
+ else:
+ instance_extensions=[('msg_callback_get_proc_addr', []),
+ ('wsi_enabled',
+ ['vkGetPhysicalDeviceSurfaceSupportKHR',
+ 'vkGetPhysicalDeviceSurfaceCapabilitiesKHR',
+ 'vkGetPhysicalDeviceSurfaceFormatsKHR',
+ 'vkGetPhysicalDeviceSurfacePresentModesKHR',
+ 'vkCreateXcbSurfaceKHR',
'vkGetPhysicalDeviceXcbPresentationSupportKHR'])]
body = [self.generate_maps(),
self.generate_procs(),