[Mesa-dev] [PATCH 02/23] vulkan: Add #ifdef hack to vk_android_native_buffer.h

Chad Versace chadversary at chromium.org
Sat Sep 2 08:17:25 UTC 2017


This patch consolidates many potential `#ifdef ANDROID` messes
throughout src/vulkan and src/intel/vulkan into a simple, localized
hack. The hack is an `#ifdef ANDROID` in vk_android_native_buffer.h
that, on non-Android platorms, avoids including the Android platform
headers and typedefs any Android-specific types to void*.

This hack doesn't remove *all* the `#ifdef ANDROID`s in upcoming
patches, but it does remove a lot.

I first tried implementing VK_ANDROID_native_buffer without this hack,
but eventually gave up when the yak shaving became too much.
---
 include/vulkan/vk_android_native_buffer.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/include/vulkan/vk_android_native_buffer.h b/include/vulkan/vk_android_native_buffer.h
index d0ebf81353f..a658b49243d 100644
--- a/include/vulkan/vk_android_native_buffer.h
+++ b/include/vulkan/vk_android_native_buffer.h
@@ -17,8 +17,13 @@
 #ifndef __VK_ANDROID_NATIVE_BUFFER_H__
 #define __VK_ANDROID_NATIVE_BUFFER_H__
 
+/* MESA: A hack to avoid #ifdefs in driver code. */
+#ifdef ANDROID
 #include <system/window.h>
 #include <vulkan/vulkan.h>
+#else
+typedef void *buffer_handle_t;
+#endif
 
 #ifdef __cplusplus
 extern "C" {
-- 
2.13.5



More information about the mesa-dev mailing list