From 5524afa1df0038fd4c451057ded8d022e3775e0c Mon Sep 17 00:00:00 2001 From: Gurchetan Singh Date: Tue, 2 Jul 2024 13:55:35 -0700 Subject: [PATCH] gfxstream: host: introduce vkGetSemaphoreGOOGLE New protocol which instructs the host to share sync descriptor with ExternalObjectManager. Reviewed-by: Aaron Ruby Acked-by: Yonggang Luo Acked-by: Adam Jackson Part-of: --- src/gfxstream/codegen/scripts/cereal/api_log_decoder.py | 1 + src/gfxstream/codegen/scripts/cereal/decoder.py | 1 + src/gfxstream/codegen/scripts/cereal/marshalingdefs.py | 1 + src/gfxstream/codegen/xml/vk_gfxstream.xml | 9 ++++++++- 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/gfxstream/codegen/scripts/cereal/api_log_decoder.py b/src/gfxstream/codegen/scripts/cereal/api_log_decoder.py index cd6605550fe..811cbbd8095 100644 --- a/src/gfxstream/codegen/scripts/cereal/api_log_decoder.py +++ b/src/gfxstream/codegen/scripts/cereal/api_log_decoder.py @@ -77,6 +77,7 @@ class ApiLogDecoder(VulkanWrapperGenerator): "vkGetPhysicalDeviceFormatProperties", "vkGetPhysicalDeviceProperties2KHR", "vkGetPipelineCacheData", + "vkGetSemaphoreGOOGLE", "vkGetSwapchainGrallocUsageANDROID", "vkQueueCommitDescriptorSetUpdatesGOOGLE", "vkQueueFlushCommandsGOOGLE", diff --git a/src/gfxstream/codegen/scripts/cereal/decoder.py b/src/gfxstream/codegen/scripts/cereal/decoder.py index ee690288b4d..b8d0ca87982 100644 --- a/src/gfxstream/codegen/scripts/cereal/decoder.py +++ b/src/gfxstream/codegen/scripts/cereal/decoder.py @@ -742,6 +742,7 @@ custom_decodes = { "vkMapMemoryIntoAddressSpaceGOOGLE" : emit_global_state_wrapped_decoding, "vkGetMemoryHostAddressInfoGOOGLE" : emit_global_state_wrapped_decoding, "vkGetBlobGOOGLE" : emit_global_state_wrapped_decoding, + "vkGetSemaphoreGOOGLE" : emit_global_state_wrapped_decoding, # Descriptor update templates "vkCreateDescriptorUpdateTemplate" : emit_global_state_wrapped_decoding, diff --git a/src/gfxstream/codegen/scripts/cereal/marshalingdefs.py b/src/gfxstream/codegen/scripts/cereal/marshalingdefs.py index a78de96e830..01d4bc7da88 100644 --- a/src/gfxstream/codegen/scripts/cereal/marshalingdefs.py +++ b/src/gfxstream/codegen/scripts/cereal/marshalingdefs.py @@ -348,6 +348,7 @@ KNOWN_FUNCTION_OPCODES = { "vkGetLinearImageLayoutGOOGLE": 20333, "vkQueueFlushCommandsGOOGLE": 20340, "vkGetBlobGOOGLE": 20341, + "vkGetSemaphoreGOOGLE": 20342, } CUSTOM_MARSHAL_TYPES = { diff --git a/src/gfxstream/codegen/xml/vk_gfxstream.xml b/src/gfxstream/codegen/xml/vk_gfxstream.xml index a42bcde21bc..54eeae2fd72 100644 --- a/src/gfxstream/codegen/xml/vk_gfxstream.xml +++ b/src/gfxstream/codegen/xml/vk_gfxstream.xml @@ -246,6 +246,12 @@ specific entries. VkDeviceSize dataOffset VkDeviceSize dataSize + + VkResult vkGetSemaphoreGOOGLE + VkDevice device + VkSemaphore semaphore + uint64_t syncId + @@ -284,7 +290,8 @@ specific entries. + - \ No newline at end of file +