summaryrefslogtreecommitdiff
path: root/vulkan
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2020-05-22 21:33:48 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-05-22 21:33:48 +0000
commit10f20eb2eb371f906b216ca6a5501f926bc151bb (patch)
treeb4cce44fb3d4941254f456caf7a4ade96922b386 /vulkan
parent05e8a2f7b5620a603e54a4509856c58e390d2306 (diff)
parentfd32d4f578984bd4f5189f49d8605af99c341a33 (diff)
downloadnative-10f20eb2eb371f906b216ca6a5501f926bc151bb.tar.gz
Merge "libvulkan: support vkGIPA self-query" into rvc-dev am: 68904ad94c am: fd32d4f578
Change-Id: Ib764ac4d94bfbe454a9e796f1c77f629b128c79e
Diffstat (limited to 'vulkan')
-rw-r--r--vulkan/libvulkan/api_gen.cpp1
-rw-r--r--vulkan/scripts/api_generator.py4
2 files changed, 4 insertions, 1 deletions
diff --git a/vulkan/libvulkan/api_gen.cpp b/vulkan/libvulkan/api_gen.cpp
index 37b5368452..d9a94274a4 100644
--- a/vulkan/libvulkan/api_gen.cpp
+++ b/vulkan/libvulkan/api_gen.cpp
@@ -621,6 +621,7 @@ VKAPI_ATTR PFN_vkVoidFunction GetInstanceProcAddr(VkInstance instance, const cha
// global functions
if (instance == VK_NULL_HANDLE) {
if (strcmp(pName, "vkCreateInstance") == 0) return reinterpret_cast<PFN_vkVoidFunction>(CreateInstance);
+ if (strcmp(pName, "vkGetInstanceProcAddr") == 0) return reinterpret_cast<PFN_vkVoidFunction>(GetInstanceProcAddr);
if (strcmp(pName, "vkEnumerateInstanceVersion") == 0) return reinterpret_cast<PFN_vkVoidFunction>(EnumerateInstanceVersion);
if (strcmp(pName, "vkEnumerateInstanceLayerProperties") == 0) return reinterpret_cast<PFN_vkVoidFunction>(EnumerateInstanceLayerProperties);
if (strcmp(pName, "vkEnumerateInstanceExtensionProperties") == 0) return reinterpret_cast<PFN_vkVoidFunction>(EnumerateInstanceExtensionProperties);
diff --git a/vulkan/scripts/api_generator.py b/vulkan/scripts/api_generator.py
index 7c390755e1..be24172eed 100644
--- a/vulkan/scripts/api_generator.py
+++ b/vulkan/scripts/api_generator.py
@@ -152,7 +152,9 @@ def _intercept_instance_proc_addr(f):
if (instance == VK_NULL_HANDLE) {\n""")
for cmd in gencom.command_list:
- if gencom.is_globally_dispatched(cmd):
+ # vkGetInstanceProcAddr(nullptr, "vkGetInstanceProcAddr") is effectively
+ # globally dispatched
+ if gencom.is_globally_dispatched(cmd) or cmd == 'vkGetInstanceProcAddr':
f.write(gencom.indent(2) +
'if (strcmp(pName, \"' + cmd +
'\") == 0) return reinterpret_cast<PFN_vkVoidFunction>(' +