aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/generate_vk_interface.sh
diff options
context:
space:
mode:
authorGravatar Greg Daniel <egdaniel@google.com>2016-02-22 09:11:32 -0500
committerGravatar Greg Daniel <egdaniel@google.com>2016-02-22 09:11:32 -0500
commit48cf268defad66f58f1aa03b4835e5583be96b2f (patch)
treed6ce2161cae1b69ca7a595110185652297464696 /tools/generate_vk_interface.sh
parent1d524699274bc1d4c43af0c3d0ae269b8c37a3bb (diff)
Add vulkan files into skia repo. This is an incomplete backend with only partial functionality at this time.
R=robertphillips@google.com TBR=bsalomon@google.com BUG=skia:4955 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718693002 Review URL: https://codereview.chromium.org/1718693002
Diffstat (limited to 'tools/generate_vk_interface.sh')
-rw-r--r--tools/generate_vk_interface.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/generate_vk_interface.sh b/tools/generate_vk_interface.sh
new file mode 100644
index 0000000000..84eaee3b8e
--- /dev/null
+++ b/tools/generate_vk_interface.sh
@@ -0,0 +1,34 @@
+# Copyright 2015 Google Inc. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+headerLoc=../third_party/vulkan/vulkan.h
+outFile=tempVkInterface
+
+if [ ! -e "$outFile" ] ; then
+ echo 'I AM HERE'
+ touch "$outFile"
+fi
+
+chmod 700 $outFile
+
+echo '// *******************************************' > $outFile
+echo '// Place these lines into GrVkInterface.cpp::validate' >> $outFile
+echo '// *******************************************' >> $outFile
+sed -n 's/^VKAPI_ATTR \(VkResult\|void\) VKAPI_CALL vk\([a-zA-Z]*\).*/NULL == fFunctions.f\2 ||/p' $headerLoc >> $outFile
+sed -i '1,/NULL/ s/^NULL/if (NULL/' $outFile
+sed -i '5,$ s/^/ /' $outFile
+sed -i '$ s/ ||/) {/' $outFile
+
+echo '' >> $outFile
+echo '// *******************************************' >> $outFile
+echo '// Place these lines into GrVkInterface.h' >> $outFile
+echo '// *******************************************' >> $outFile
+sed -n 's/^VKAPI_ATTR \(VkResult\|void\) VKAPI_CALL vk\([a-zA-Z]*\).*/VkPtr<PFN_vk\2> f\2;/p' $headerLoc >> $outFile
+
+echo '' >> $outFile
+echo '// *******************************************' >> $outFile
+echo '// Place these lines into GrVkInterface.cpp::GrVKCreateInterface' >> $outFile
+echo '// *******************************************' >> $outFile
+sed -n 's/^VKAPI_ATTR \(VkResult\|void\) VKAPI_CALL vk\([a-zA-Z]*\).*/GET_PROC(\2);/p' $headerLoc >> $outFile
+