summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaiyi Li <kaiyili@google.com>2022-02-09 10:52:09 -0800
committerKaiyi Li <kaiyili@google.com>2022-08-21 16:39:49 -0700
commit6db96400950e979b5fc7e5ab2c1b20402b504698 (patch)
tree9d5b4890ca43715d61e599b38232df2a59b97b89
parent934c7140a46eba651ffb1accb9249c4ffffe42ba (diff)
downloadgfxstream-protocols-6db96400950e979b5fc7e5ab2c1b20402b504698.tar.gz
Export Vulkan headers in build config files
Change-Id: I2a9d2c86e8dbd2a394d23922dbce6e18336527fa
-rw-r--r--Android.bp27
-rw-r--r--CMakeLists.txt7
-rw-r--r--include/vulkan/include/vulkan/vulkan_core.h1
-rw-r--r--registry/vulkan/scripts/cerealgenerator.py3
-rw-r--r--registry/vulkan/xml/vk.xml1
-rwxr-xr-xscripts/generate-vulkan-sources.sh1
-rw-r--r--scripts/print_gfx_logs/vulkan_printer.py1
7 files changed, 40 insertions, 1 deletions
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 00000000..5ef59a00
--- /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 00000000..2f40bec4
--- /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 03d6f7a2..0e543147 100644
--- a/include/vulkan/include/vulkan/vulkan_core.h
+++ b/include/vulkan/include/vulkan/vulkan_core.h
@@ -910,6 +910,7 @@ typedef enum VkStructureType {
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 3b43a911..0ffc6329 100644
--- a/registry/vulkan/scripts/cerealgenerator.py
+++ b/registry/vulkan/scripts/cerealgenerator.py
@@ -138,6 +138,7 @@ class CerealGenerator(OutputGenerator):
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 @@ target_compile_definitions(OpenglRender_vulkan_cereal PRIVATE -DVK_ANDROID_nativ
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 89d400fb..d9e0bce5 100644
--- a/registry/vulkan/xml/vk.xml
+++ b/registry/vulkan/xml/vk.xml
@@ -17651,6 +17651,7 @@ typedef void <name>CAMetalLayer</name>;
<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 937f8218..f870e281 100755
--- a/scripts/generate-vulkan-sources.sh
+++ b/scripts/generate-vulkan-sources.sh
@@ -42,6 +42,7 @@ export VK_CEREAL_HOST_DECODER_DIR=$AOSP_DIR/device/generic/vulkan-cereal/stream-
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 28732252..2f61e4b2 100644
--- a/scripts/print_gfx_logs/vulkan_printer.py
+++ b/scripts/print_gfx_logs/vulkan_printer.py
@@ -2376,6 +2376,7 @@ VkStructureType = {
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 = {