summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-15 01:02:15 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-15 01:02:15 +0000
commit03fde4178f5e24f70126a22e2e5e9e329870535a (patch)
tree0d1f39a908fd9024b82a52012ac98bfc7a2cea0b
parent8d30e753f0bfce29c04f8ceb29b20a88197e8a3e (diff)
parent060672c21bfe3d6e4e83c51ada3837b4c2504d69 (diff)
downloadgfxstream-protocols-android13-d1-release.tar.gz
Change-Id: Ie07ab762e1f3e9debe11f5d87aa05ffd77968b6b
-rw-r--r--registry/vulkan/scripts/cereal/decoder.py1
-rw-r--r--registry/vulkan/scripts/cereal/encoder.py2
-rw-r--r--registry/vulkan/scripts/cereal/functable.py7
-rw-r--r--registry/vulkan/xml/vk.xml9
4 files changed, 18 insertions, 1 deletions
diff --git a/registry/vulkan/scripts/cereal/decoder.py b/registry/vulkan/scripts/cereal/decoder.py
index 21c92ecf..30277b70 100644
--- a/registry/vulkan/scripts/cereal/decoder.py
+++ b/registry/vulkan/scripts/cereal/decoder.py
@@ -701,6 +701,7 @@ custom_decodes = {
"vkQueueWaitIdleAsyncGOOGLE" : emit_global_state_wrapped_decoding,
"vkQueueBindSparseAsyncGOOGLE" : emit_global_state_wrapped_decoding,
"vkGetLinearImageLayoutGOOGLE" : emit_global_state_wrapped_decoding,
+ "vkGetLinearImageLayout2GOOGLE" : emit_global_state_wrapped_decoding,
"vkQueueFlushCommandsGOOGLE" : emit_global_state_wrapped_decoding,
"vkQueueCommitDescriptorSetUpdatesGOOGLE" : emit_global_state_wrapped_decoding,
"vkCollectDescriptorPoolIdsGOOGLE" : emit_global_state_wrapped_decoding,
diff --git a/registry/vulkan/scripts/cereal/encoder.py b/registry/vulkan/scripts/cereal/encoder.py
index e56dbd1d..8c95226d 100644
--- a/registry/vulkan/scripts/cereal/encoder.py
+++ b/registry/vulkan/scripts/cereal/encoder.py
@@ -73,6 +73,8 @@ ENCODER_CUSTOM_RESOURCE_POSTPROCESS = [
"vkCreateInstance",
"vkCreateDevice",
"vkMapMemoryIntoAddressSpaceGOOGLE",
+ "vkGetPhysicalDeviceFeatures2",
+ "vkGetPhysicalDeviceFeatures2KHR",
"vkGetPhysicalDeviceProperties",
"vkGetPhysicalDeviceProperties2",
"vkGetPhysicalDeviceProperties2KHR",
diff --git a/registry/vulkan/scripts/cereal/functable.py b/registry/vulkan/scripts/cereal/functable.py
index 58aa6429..0b45edcc 100644
--- a/registry/vulkan/scripts/cereal/functable.py
+++ b/registry/vulkan/scripts/cereal/functable.py
@@ -167,11 +167,15 @@ class VulkanFuncTable(VulkanWrapperGenerator):
cgen.beginBlock()
if self.feature == "VK_VERSION_1_1":
cgen.stmt("auto resources = ResourceTracker::get()")
+ if "VkCommandBuffer" == api.parameters[0].typeName:
+ cgen.stmt("VkDevice device = resources->getDevice(commandBuffer)")
cgen.beginIf("resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1")
cgen.stmt("sOnInvalidDynamicallyCheckedCall(\"%s\", \"%s\")" % (api.name, self.feature))
cgen.endIf()
elif self.feature != "VK_VERSION_1_0":
cgen.stmt("auto resources = ResourceTracker::get()")
+ if "VkCommandBuffer" == api.parameters[0].typeName:
+ cgen.stmt("VkDevice device = resources->getDevice(commandBuffer);")
cgen.beginIf("!resources->hasDeviceExtension(device, \"%s\")" % self.feature)
cgen.stmt("sOnInvalidDynamicallyCheckedCall(\"%s\", \"%s\")" % (api.name, self.feature))
cgen.endIf()
@@ -321,4 +325,5 @@ class VulkanFuncTable(VulkanWrapperGenerator):
self.module.appendImpl(self.cgen.swapCode())
def isDeviceDispatch(self, api):
- return len(api.parameters) > 0 and "VkDevice" == api.parameters[0].typeName
+ return len(api.parameters) > 0 and (
+ "VkDevice" == api.parameters[0].typeName or "VkCommandBuffer" == api.parameters[0].typeName)
diff --git a/registry/vulkan/xml/vk.xml b/registry/vulkan/xml/vk.xml
index a16e039d..0732e51a 100644
--- a/registry/vulkan/xml/vk.xml
+++ b/registry/vulkan/xml/vk.xml
@@ -10334,6 +10334,13 @@ typedef void <name>CAMetalLayer</name>;
<param><type>VkDeviceSize</type>* <name>pRowPitchAlignment</name></param>
</command>
<command>
+ <proto><type>void</type> <name>vkGetLinearImageLayout2GOOGLE</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkImageCreateInfo</type>* <name>pCreateInfo</name></param>
+ <param><type>VkDeviceSize</type>* <name>pOffset</name></param>
+ <param><type>VkDeviceSize</type>* <name>pRowPitchAlignment</name></param>
+ </command>
+ <command>
<proto><type>void</type> <name>vkQueueFlushCommandsGOOGLE</name></proto>
<param externsync="true"><type>VkQueue</type> <name>queue</name></param>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
@@ -17661,6 +17668,7 @@ typedef void <name>CAMetalLayer</name>;
<command name="vkQueueWaitIdleAsyncGOOGLE"/>
<command name="vkQueueBindSparseAsyncGOOGLE"/>
<command name="vkGetLinearImageLayoutGOOGLE"/>
+ <command name="vkGetLinearImageLayout2GOOGLE"/>
<command name="vkQueueFlushCommandsGOOGLE"/>
<command name="vkQueueCommitDescriptorSetUpdatesGOOGLE"/>
<command name="vkCollectDescriptorPoolIdsGOOGLE"/>
@@ -18286,3 +18294,4 @@ typedef void <name>CAMetalLayer</name>;
</spirvcapability>
</spirvcapabilities>
</registry>
+