Export Vulkan headers in build config files
Change-Id: I2a9d2c86e8dbd2a394d23922dbce6e18336527fa
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..5ef59a0
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,27 @@
+package {
+ default_applicable_licenses: ["external_gfxstream-protocols_license"],
+}
+
+license {
+ name: "external_gfxstream-protocols_license",
+ visibility: [":__subpackages__"],
+ license_kinds: [
+ "SPDX-license-identifier-Apache-2.0",
+ "SPDX-license-identifier-BSD",
+ "SPDX-license-identifier-CC-BY-4.0",
+ "SPDX-license-identifier-MIT",
+ ],
+ license_text: [
+ "LICENSE",
+ ],
+}
+
+cc_library_headers {
+ name: "gfxstream_vulkan_headers",
+ export_include_dirs: ["include/vulkan/include"],
+ host_supported: true,
+ apex_available: [
+ "//apex_available:platform",
+ "com.android.virt",
+ ],
+}
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..2f40bec
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,7 @@
+project(gfxstream-protocols)
+cmake_minimum_required(VERSION 3.11)
+
+add_library(gfxstream_vulkan_headers INTERFACE)
+target_include_directories(
+ gfxstream_vulkan_headers
+ INTERFACE include/vulkan/include)
diff --git a/include/vulkan/include/vulkan/vulkan_core.h b/include/vulkan/include/vulkan/vulkan_core.h
index 03d6f7a..0e54314 100644
--- a/include/vulkan/include/vulkan/vulkan_core.h
+++ b/include/vulkan/include/vulkan/vulkan_core.h
@@ -910,6 +910,7 @@
VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE = 1000385000,
VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE = 1000385001,
VK_STRUCTURE_TYPE_IMPORT_BUFFER_HANDLE_GOOGLE = 1000385002,
+ VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE = 1000385003,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
diff --git a/registry/vulkan/scripts/cerealgenerator.py b/registry/vulkan/scripts/cerealgenerator.py
index 3b43a91..0ffc632 100644
--- a/registry/vulkan/scripts/cerealgenerator.py
+++ b/registry/vulkan/scripts/cerealgenerator.py
@@ -138,6 +138,7 @@
envGetOrDefault("VK_CEREAL_BASELIB_PREFIX", "android/base")
self.baseLibLinkName = \
envGetOrDefault("VK_CEREAL_BASELIB_LINKNAME", "android-emu-base")
+ self.vulkanHeaderTargetName = envGetOrDefault("VK_CEREAL_VK_HEADER_TARGET", "")
self.host_cmake_generator = lambda cppFiles: f"""{autogeneratedMkTemplate % banner_command(sys.argv)}
add_library(OpenglRender_vulkan_cereal {cppFiles})
@@ -145,7 +146,7 @@
if (WIN32)
target_compile_definitions(OpenglRender_vulkan_cereal PRIVATE -DVK_USE_PLATFORM_WIN32_KHR)
endif()
-target_link_libraries(OpenglRender_vulkan_cereal PUBLIC {self.baseLibLinkName})
+target_link_libraries(OpenglRender_vulkan_cereal PUBLIC {self.baseLibLinkName} {self.vulkanHeaderTargetName})
target_include_directories(OpenglRender_vulkan_cereal
PUBLIC
diff --git a/registry/vulkan/xml/vk.xml b/registry/vulkan/xml/vk.xml
index 89d400f..d9e0bce 100644
--- a/registry/vulkan/xml/vk.xml
+++ b/registry/vulkan/xml/vk.xml
@@ -17651,6 +17651,7 @@
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_BUFFER_HANDLE_GOOGLE"/>
+ <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE"/>
<type name="VkImportColorBufferGOOGLE"/>
<type name="VkImportBufferGOOGLE"/>
<type name="VkImportPhysicalAddressGOOGLE"/>
diff --git a/scripts/generate-vulkan-sources.sh b/scripts/generate-vulkan-sources.sh
index 937f821..f870e28 100755
--- a/scripts/generate-vulkan-sources.sh
+++ b/scripts/generate-vulkan-sources.sh
@@ -42,6 +42,7 @@
export VK_CEREAL_HOST_INCLUDE_DIR=$AOSP_DIR/device/generic/vulkan-cereal/stream-servers
export VK_CEREAL_BASELIB_PREFIX=base
export VK_CEREAL_BASELIB_LINKNAME=gfxstream-base.headers
+export VK_CEREAL_VK_HEADER_TARGET=gfxstream_vulkan_headers
VK_CEREAL_OUTPUT_DIR=$VK_CEREAL_HOST_DECODER_DIR/cereal
mkdir -p $VK_CEREAL_GUEST_HAL_DIR
diff --git a/scripts/print_gfx_logs/vulkan_printer.py b/scripts/print_gfx_logs/vulkan_printer.py
index 2873225..2f61e4b 100644
--- a/scripts/print_gfx_logs/vulkan_printer.py
+++ b/scripts/print_gfx_logs/vulkan_printer.py
@@ -2376,6 +2376,7 @@
1000385000: "VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE",
1000385001: "VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE",
1000385002: "VK_STRUCTURE_TYPE_IMPORT_BUFFER_HANDLE_GOOGLE",
+ 1000385003: "VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE",
}
VkSubpassContents = {