Rerun vulkan codegen after move
... to update auto-generated path comments.
Bug: b/271464937
Test: ./scripts/generate-vulkan-sources.sh
Change-Id: If668cdd17ea819d84ec9cd703079b4042eda4d87
diff --git a/codegen/scripts/generate-vulkan-sources.sh b/codegen/scripts/generate-vulkan-sources.sh
deleted file mode 100755
index 3f3da70..0000000
--- a/codegen/scripts/generate-vulkan-sources.sh
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/bin/bash
-
-# Copyright 2022 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-PROJECT_ROOT=$(pwd)
-
-WHICH=which
-if [[ "$OSTYPE" == "msys" ]]; then
- WHICH=where
-fi
-
-if [ -z "$1" ] || [ -z "$2" ];
-then
- AOSP_DIR=$(pwd)/../..
- export GOLDFISH_OPENGL_DIR=$AOSP_DIR/device/generic/goldfish-opengl
- export VULKAN_CEREAL_DIR=$AOSP_DIR/device/generic/vulkan-cereal
- export VULKAN_REGISTRY_DIR=$AOSP_DIR/external/gfxstream-protocols/codegen/vulkan
-else
- export GOLDFISH_OPENGL_DIR=$1
- export VULKAN_CEREAL_DIR=$2
- export VULKAN_REGISTRY_DIR=codegen/vulkan
-fi
-
-# Detect clang-format
-if ! $WHICH clang-format > /dev/null; then
- echo "Failed to find clang-format." 1>&2
- exit 1
-fi
-
-# Generate Vulkan headers
-VULKAN_HEADERS_ROOT=$PROJECT_ROOT/common/vulkan
-rm -rf $VULKAN_HEADERS_ROOT && mkdir -p $VULKAN_HEADERS_ROOT
-if [ $? -ne 0 ]; then
- echo "Failed to clear the old Vulkan headers." 1>&2
- exit 1
-fi
-
-cd $VULKAN_REGISTRY_DIR/xml && make GENOPTS="-removeExtensions VK_GOOGLE_gfxstream" GENERATED=$VULKAN_HEADERS_ROOT
-if [ $? -ne 0 ]; then
- echo "Failed to generate Vulkan headers." 1>&2
- exit 1
-fi
-
-cd $PROJECT_ROOT
-
-export VK_CEREAL_GUEST_ENCODER_DIR=$GOLDFISH_OPENGL_DIR/system/vulkan_enc
-export VK_CEREAL_GUEST_HAL_DIR=$GOLDFISH_OPENGL_DIR/system/vulkan
-export VK_CEREAL_HOST_DECODER_DIR=$VULKAN_CEREAL_DIR/host/vulkan
-export VK_CEREAL_HOST_INCLUDE_DIR=$VULKAN_CEREAL_DIR/host
-export VK_CEREAL_HOST_SCRIPTS_DIR=$VULKAN_CEREAL_DIR/scripts
-export VK_CEREAL_BASELIB_PREFIX=aemu/base
-export VK_CEREAL_BASELIB_LINKNAME=aemu-base.headers
-export VK_CEREAL_VK_HEADER_TARGET=gfxstream_vulkan_headers
-export VK_CEREAL_UTILS_LINKNAME=gfxstream_utils.headers
-export VK_CEREAL_UTILS_PREFIX=utils
-
-VK_CEREAL_OUTPUT_DIR=$VK_CEREAL_HOST_DECODER_DIR/cereal
-if [ -d "$VK_CEREAL_GUEST_DIR" ]; then
- mkdir -p $VK_CEREAL_GUEST_ENCODER_DIR
- mkdir -p $VK_CEREAL_GUEST_HAL_DIR
-fi
-if [ -d "$VK_CEREAL_HOST_DIR" ]; then
- mkdir -p $VK_CEREAL_HOST_DECODER_DIR
- mkdir -p $VK_CEREAL_OUTPUT_DIR
-fi
-
-VULKAN_REGISTRY_XML_DIR=$VULKAN_REGISTRY_DIR/xml
-VULKAN_REGISTRY_SCRIPTS_DIR=$VULKAN_REGISTRY_DIR/scripts
-
-python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $VK_CEREAL_OUTPUT_DIR
-
-
-# Generate VK_ANDROID_native_buffer specific Vulkan definitions.
-if [ -d $VK_CEREAL_HOST_DECODER_DIR ]; then
- OUT_DIR=$VK_CEREAL_HOST_DECODER_DIR
- OUT_FILE_BASENAME="vk_android_native_buffer.h"
-
- python3 registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml -o $OUT_DIR \
- $OUT_FILE_BASENAME
-
- if [ $? -ne 0 ]; then
- echo "Failed to generate vk_android_native_buffer.h" 1>&2
- exit 1
- fi
- if ! clang-format -i $OUT_DIR/$OUT_FILE_BASENAME; then
- echo "Failed to reformat vk_android_native_buffer.h" 1>&2
- exit 1
- fi
-fi
-
-# Generate gfxstream specific Vulkan definitions.
-for OUT_DIR in $VK_CEREAL_HOST_DECODER_DIR $VK_CEREAL_GUEST_ENCODER_DIR; do
- if [ -d "$OUT_DIR" ]; then
- OUT_FILE_BASENAME=vulkan_gfxstream.h
- python3 registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml -o $OUT_DIR \
- $OUT_FILE_BASENAME
-
- if [ $? -ne 0 ]; then
- echo "Failed to generate gfxstream specific vulkan headers." 1>&2
- exit 1
- fi
- if ! clang-format -i $OUT_DIR/$OUT_FILE_BASENAME; then
- echo "Failed to reformat gfxstream specific vulkan headers." 1>&2
- exit 1
- fi
- fi
-done
diff --git a/host/vulkan/VkDecoder.cpp b/host/vulkan/VkDecoder.cpp
index b91e021..04e03e8 100644
--- a/host/vulkan/VkDecoder.cpp
+++ b/host/vulkan/VkDecoder.cpp
@@ -15,8 +15,8 @@
// Autogenerated module VkDecoder
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/VkDecoder.h b/host/vulkan/VkDecoder.h
index e8e3381..e1e353d 100644
--- a/host/vulkan/VkDecoder.h
+++ b/host/vulkan/VkDecoder.h
@@ -15,8 +15,8 @@
// Autogenerated module VkDecoder
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/VkDecoderSnapshot.cpp b/host/vulkan/VkDecoderSnapshot.cpp
index bbc32ca..d755ab2 100644
--- a/host/vulkan/VkDecoderSnapshot.cpp
+++ b/host/vulkan/VkDecoderSnapshot.cpp
@@ -15,8 +15,8 @@
// Autogenerated module VkDecoderSnapshot
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/VkDecoderSnapshot.h b/host/vulkan/VkDecoderSnapshot.h
index ef1eb06..7aadf71 100644
--- a/host/vulkan/VkDecoderSnapshot.h
+++ b/host/vulkan/VkDecoderSnapshot.h
@@ -15,8 +15,8 @@
// Autogenerated module VkDecoderSnapshot
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/VkSubDecoder.cpp b/host/vulkan/VkSubDecoder.cpp
index 672ab6d..5f52d0c 100644
--- a/host/vulkan/VkSubDecoder.cpp
+++ b/host/vulkan/VkSubDecoder.cpp
@@ -15,8 +15,8 @@
// Autogenerated module VkSubDecoder
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/CMakeLists.txt b/host/vulkan/cereal/CMakeLists.txt
index 318fac7..a30d408 100644
--- a/host/vulkan/cereal/CMakeLists.txt
+++ b/host/vulkan/cereal/CMakeLists.txt
@@ -1,6 +1,6 @@
# Autogenerated makefile
-# registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+# codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o host/vulkan/cereal
# Please do not modify directly;
# re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
# or directly from Python by defining:
diff --git a/host/vulkan/cereal/common/goldfish_vk_deepcopy.cpp b/host/vulkan/cereal/common/goldfish_vk_deepcopy.cpp
index a6ea890..0ca2b21 100644
--- a/host/vulkan/cereal/common/goldfish_vk_deepcopy.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_deepcopy.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_deepcopy
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_deepcopy.h b/host/vulkan/cereal/common/goldfish_vk_deepcopy.h
index 10b1a9d..609fdb0 100644
--- a/host/vulkan/cereal/common/goldfish_vk_deepcopy.h
+++ b/host/vulkan/cereal/common/goldfish_vk_deepcopy.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_deepcopy
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp b/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp
index dcb91e2..cd9a27d 100644
--- a/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_dispatch.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_dispatch
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_dispatch.h b/host/vulkan/cereal/common/goldfish_vk_dispatch.h
index 8d5cefd..40223db 100644
--- a/host/vulkan/cereal/common/goldfish_vk_dispatch.h
+++ b/host/vulkan/cereal/common/goldfish_vk_dispatch.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_dispatch
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp b/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp
index 252dff2..296e881 100644
--- a/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_extension_structs.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_extension_structs
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_extension_structs.h b/host/vulkan/cereal/common/goldfish_vk_extension_structs.h
index 354397e..f900c8d 100644
--- a/host/vulkan/cereal/common/goldfish_vk_extension_structs.h
+++ b/host/vulkan/cereal/common/goldfish_vk_extension_structs.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_extension_structs
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_handlemap.cpp b/host/vulkan/cereal/common/goldfish_vk_handlemap.cpp
index 5dcd8a5..8f98102 100644
--- a/host/vulkan/cereal/common/goldfish_vk_handlemap.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_handlemap.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_handlemap
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_handlemap.h b/host/vulkan/cereal/common/goldfish_vk_handlemap.h
index 791ade7..1a58df6 100644
--- a/host/vulkan/cereal/common/goldfish_vk_handlemap.h
+++ b/host/vulkan/cereal/common/goldfish_vk_handlemap.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_handlemap
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp b/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp
index 3a89cae..a71eff1 100644
--- a/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_marshaling.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_marshaling
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_marshaling.h b/host/vulkan/cereal/common/goldfish_vk_marshaling.h
index 6573652..68bc250 100644
--- a/host/vulkan/cereal/common/goldfish_vk_marshaling.h
+++ b/host/vulkan/cereal/common/goldfish_vk_marshaling.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_marshaling
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp b/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp
index d6d9816..13e6dda 100644
--- a/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_reserved_marshaling
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.h b/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.h
index cd7f4d6..0c82bd3 100644
--- a/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.h
+++ b/host/vulkan/cereal/common/goldfish_vk_reserved_marshaling.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_reserved_marshaling
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_testing.cpp b/host/vulkan/cereal/common/goldfish_vk_testing.cpp
index 8fd7d62..eb33c98 100644
--- a/host/vulkan/cereal/common/goldfish_vk_testing.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_testing.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_testing
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_testing.h b/host/vulkan/cereal/common/goldfish_vk_testing.h
index 9003856..fa361d2 100644
--- a/host/vulkan/cereal/common/goldfish_vk_testing.h
+++ b/host/vulkan/cereal/common/goldfish_vk_testing.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_testing
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_transform.cpp b/host/vulkan/cereal/common/goldfish_vk_transform.cpp
index ae336de..689c050 100644
--- a/host/vulkan/cereal/common/goldfish_vk_transform.cpp
+++ b/host/vulkan/cereal/common/goldfish_vk_transform.cpp
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_transform
//
-// (impl) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml cereal
-// -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (impl) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal -o
+// host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/cereal/common/goldfish_vk_transform.h b/host/vulkan/cereal/common/goldfish_vk_transform.h
index 9f0eca7..4ffc606 100644
--- a/host/vulkan/cereal/common/goldfish_vk_transform.h
+++ b/host/vulkan/cereal/common/goldfish_vk_transform.h
@@ -15,8 +15,8 @@
// Autogenerated module goldfish_vk_transform
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/vk_android_native_buffer_structure_type.h b/host/vulkan/vk_android_native_buffer_structure_type.h
index 6a46ad3..428dca1 100644
--- a/host/vulkan/vk_android_native_buffer_structure_type.h
+++ b/host/vulkan/vk_android_native_buffer_structure_type.h
@@ -15,8 +15,8 @@
// Autogenerated module vk_android_native_buffer_structure_type
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/host/vulkan/vulkan_gfxstream_structure_type.h b/host/vulkan/vulkan_gfxstream_structure_type.h
index e8958aa..ae9270c 100644
--- a/host/vulkan/vulkan_gfxstream_structure_type.h
+++ b/host/vulkan/vulkan_gfxstream_structure_type.h
@@ -15,8 +15,8 @@
// Autogenerated module vulkan_gfxstream_structure_type
//
-// (header) generated by registry/vulkan/scripts/genvk.py -registry registry/vulkan/xml/vk.xml
-// cereal -o ../../device/generic/vulkan-cereal/host/vulkan/cereal
+// (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml cereal
+// -o host/vulkan/cereal
//
// Please do not modify directly;
// re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
diff --git a/scripts/generate-vulkan-sources.sh b/scripts/generate-vulkan-sources.sh
index 0f93523..c3f2365 100755
--- a/scripts/generate-vulkan-sources.sh
+++ b/scripts/generate-vulkan-sources.sh
@@ -1,5 +1,6 @@
-#!/bin/sh
-# Copyright 2019 The Android Open Source Project
+#!/bin/bash
+
+# Copyright 2022 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,33 +14,106 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-echo ""
-echo ""
-echo "DEPRECATED: Please regenerate the Vulkan codegen using the "
-echo "external/gfxstream-protocols project!"
-echo ""
-echo ""
+PROJECT_ROOT=$(pwd)
-echo "To be run in the vulkan-cereal repo root directory."
-echo "Note: This needs to be in an AOSP checkout to generate guest encoder files."
+WHICH=which
+if [[ "$OSTYPE" == "msys" ]]; then
+ WHICH=where
+fi
-REPO_DIR=`pwd`
-VULKAN_REGISTRY_XML_DIR=$REPO_DIR/protocols/vulkan/xml
-VULKAN_SRC_DIR=$REPO_DIR/stream-servers/vulkan
-CEREAL_OUTPUT_DIR=$VULKAN_SRC_DIR/cereal
+if [ -z "$1" ] || [ -z "$2" ];
+then
+ AOSP_DIR=$(pwd)/../../..
+ export GOLDFISH_OPENGL_DIR=$AOSP_DIR/device/generic/goldfish-opengl
+ export VULKAN_CEREAL_DIR=$AOSP_DIR/hardware/google/gfxstream
+ export VULKAN_REGISTRY_DIR=$AOSP_DIR/hardware/google/gfxstream/codegen/vulkan
+else
+ export GOLDFISH_OPENGL_DIR=$1
+ export VULKAN_CEREAL_DIR=$2
+ export VULKAN_REGISTRY_DIR=codegen/vulkan
+fi
-export VK_CEREAL_GUEST_ENCODER_DIR=$REPO_DIR/../goldfish-opengl/system/vulkan_enc
-export VK_CEREAL_GUEST_HAL_DIR=$REPO_DIR/../goldfish-opengl/system/vulkan
-export VK_CEREAL_HOST_DECODER_DIR=$REPO_DIR/stream-servers/vulkan
-export VK_CEREAL_HOST_PROTO_DIR=$REPO_DIR/stream-servers/vulkan/cereal/proto
-export VK_CEREAL_HOST_INCLUDE_DIR=$REPO_DIR/include
-export VK_CEREAL_BASELIB_PREFIX=base
+# Detect clang-format
+if ! $WHICH clang-format > /dev/null; then
+ echo "Failed to find clang-format." 1>&2
+ exit 1
+fi
+
+# Generate Vulkan headers
+VULKAN_HEADERS_ROOT=$PROJECT_ROOT/common/vulkan
+rm -rf $VULKAN_HEADERS_ROOT && mkdir -p $VULKAN_HEADERS_ROOT
+if [ $? -ne 0 ]; then
+ echo "Failed to clear the old Vulkan headers." 1>&2
+ exit 1
+fi
+
+cd $VULKAN_REGISTRY_DIR/xml && make GENOPTS="-removeExtensions VK_GOOGLE_gfxstream" GENERATED=$VULKAN_HEADERS_ROOT
+if [ $? -ne 0 ]; then
+ echo "Failed to generate Vulkan headers." 1>&2
+ exit 1
+fi
+
+cd $PROJECT_ROOT
+
+export VK_CEREAL_GUEST_ENCODER_DIR=$GOLDFISH_OPENGL_DIR/system/vulkan_enc
+export VK_CEREAL_GUEST_HAL_DIR=$GOLDFISH_OPENGL_DIR/system/vulkan
+export VK_CEREAL_HOST_DECODER_DIR=$VULKAN_CEREAL_DIR/host/vulkan
+export VK_CEREAL_HOST_INCLUDE_DIR=$VULKAN_CEREAL_DIR/host
+export VK_CEREAL_HOST_SCRIPTS_DIR=$VULKAN_CEREAL_DIR/scripts
+export VK_CEREAL_BASELIB_PREFIX=aemu/base
export VK_CEREAL_BASELIB_LINKNAME=aemu-base.headers
-export VK_CEREAL_HOST_COMMON_LIB_LINKNAME=aemu-host-common.headers
+export VK_CEREAL_VK_HEADER_TARGET=gfxstream_vulkan_headers
+export VK_CEREAL_UTILS_LINKNAME=gfxstream_utils.headers
+export VK_CEREAL_UTILS_PREFIX=utils
-mkdir -p $CEREAL_OUTPUT_DIR
+VK_CEREAL_OUTPUT_DIR=$VK_CEREAL_HOST_DECODER_DIR/cereal
+if [ -d "$VK_CEREAL_GUEST_DIR" ]; then
+ mkdir -p $VK_CEREAL_GUEST_ENCODER_DIR
+ mkdir -p $VK_CEREAL_GUEST_HAL_DIR
+fi
+if [ -d "$VK_CEREAL_HOST_DIR" ]; then
+ mkdir -p $VK_CEREAL_HOST_DECODER_DIR
+ mkdir -p $VK_CEREAL_OUTPUT_DIR
+fi
-python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
+VULKAN_REGISTRY_XML_DIR=$VULKAN_REGISTRY_DIR/xml
+VULKAN_REGISTRY_SCRIPTS_DIR=$VULKAN_REGISTRY_DIR/scripts
-echo "Done generating Vulkan driver."
+python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $VK_CEREAL_OUTPUT_DIR
+
+# Generate VK_ANDROID_native_buffer specific Vulkan definitions.
+if [ -d $VK_CEREAL_HOST_DECODER_DIR ]; then
+ OUT_DIR=$VK_CEREAL_HOST_DECODER_DIR
+ OUT_FILE_BASENAME="vk_android_native_buffer.h"
+
+ python3 codegen/vulkan/scripts/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml -o $OUT_DIR \
+ $OUT_FILE_BASENAME
+
+ if [ $? -ne 0 ]; then
+ echo "Failed to generate vk_android_native_buffer.h" 1>&2
+ exit 1
+ fi
+ if ! clang-format -i $OUT_DIR/$OUT_FILE_BASENAME; then
+ echo "Failed to reformat vk_android_native_buffer.h" 1>&2
+ exit 1
+ fi
+fi
+
+# Generate gfxstream specific Vulkan definitions.
+for OUT_DIR in $VK_CEREAL_HOST_DECODER_DIR $VK_CEREAL_GUEST_ENCODER_DIR; do
+ if [ -d "$OUT_DIR" ]; then
+ OUT_FILE_BASENAME=vulkan_gfxstream.h
+ python3 codegen/vulkan/scripts/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml -o $OUT_DIR \
+ $OUT_FILE_BASENAME
+
+ if [ $? -ne 0 ]; then
+ echo "Failed to generate gfxstream specific vulkan headers." 1>&2
+ exit 1
+ fi
+ if ! clang-format -i $OUT_DIR/$OUT_FILE_BASENAME; then
+ echo "Failed to reformat gfxstream specific vulkan headers." 1>&2
+ exit 1
+ fi
+ fi
+done