[Mesa-dev] [PATCH 1/2] anv/entrypoints: Emit #if guards for all platforms

Jason Ekstrand jason at jlekstrand.net
Mon Jun 6 21:29:18 UTC 2016


---
 src/intel/vulkan/anv_entrypoints_gen.py | 32 ++++++++++++++++++++++----------
 1 file changed, 22 insertions(+), 10 deletions(-)

diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py
index 7a47372..546829f 100644
--- a/src/intel/vulkan/anv_entrypoints_gen.py
+++ b/src/intel/vulkan/anv_entrypoints_gen.py
@@ -51,19 +51,31 @@ def hash(name):
 
     return h
 
+def get_platform_guard_macro(name):
+    if "Xlib" in name:
+        return "VK_USE_PLATFORM_XLIB_KHR"
+    elif "Xcb" in name:
+        return "VK_USE_PLATFORM_XCB_KHR"
+    elif "Wayland" in name:
+        return "VK_USE_PLATFORM_WAYLAND_KHR"
+    elif "Mir" in name:
+        return "VK_USE_PLATFORM_MIR_KHR"
+    elif "Android" in name:
+        return "VK_USE_PLATFORM_ANDROID_KHR"
+    elif "Win32" in name:
+        return "VK_USE_PLATFORM_WIN32_KHR"
+    else:
+        return None
+
 def print_guard_start(name):
-    if "Wayland" in name:
-        print "#ifdef VK_USE_PLATFORM_WAYLAND_KHR"
-    if "Xcb" in name:
-        print "#ifdef VK_USE_PLATFORM_XCB_KHR"
-    return
+    guard = get_platform_guard_macro(name)
+    if guard is not None:
+        print "#ifdef {0}".format(guard)
 
 def print_guard_end(name):
-    if "Wayland" in name:
-        print "#endif // VK_USE_PLATFORM_WAYLAND_KHR"
-    if "Xcb" in name:
-        print "#endif // VK_USE_PLATFORM_XCB_KHR"
-    return
+    guard = get_platform_guard_macro(name)
+    if guard is not None:
+        print "#endif // {0}".format(guard)
 
 opt_header = False
 opt_code = False
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list