Merge "Add AHARDWAREBUFFER_FORMAT_B8G8R8A8_UNORM in android_format_is_yuv" into main
diff --git a/src/gfxstream/codegen/scripts/cereal/decoder.py b/src/gfxstream/codegen/scripts/cereal/decoder.py
index 1dbb1ec..7e931a1 100644
--- a/src/gfxstream/codegen/scripts/cereal/decoder.py
+++ b/src/gfxstream/codegen/scripts/cereal/decoder.py
@@ -29,6 +29,11 @@
"vkDestroyShaderModule",
]
+GLOBAL_COMMANDS_WITHOUT_DISPATCH = [
+ "vkEnumerateInstanceExtensionProperties",
+ "vkEnumerateInstanceLayerProperties",
+]
+
SNAPSHOT_API_CALL_INFO_VARNAME = "snapshotApiCallInfo"
global_state_prefix = "m_state->on_"
@@ -338,7 +343,11 @@
else:
cgen.stmt("m_state->lock()")
- cgen.vkApiCall(api, customPrefix="vk->", customParameters=customParams, \
+ whichDispatch = "vk->"
+ if api.name in GLOBAL_COMMANDS_WITHOUT_DISPATCH:
+ whichDispatch = "m_vk->"
+
+ cgen.vkApiCall(api, customPrefix=whichDispatch, customParameters=customParams, \
globalStatePrefix=global_state_prefix, checkForDeviceLost=True,
checkForOutOfMemory=True)
@@ -944,8 +953,6 @@
.build();
""")
- self.cgen.stmt("auto vk = m_vk")
-
self.cgen.line("switch (opcode)")
self.cgen.beginBlock() # switch stmt
diff --git a/src/gfxstream/codegen/scripts/cereal/subdecode.py b/src/gfxstream/codegen/scripts/cereal/subdecode.py
index a5f81ec..6780aa5 100644
--- a/src/gfxstream/codegen/scripts/cereal/subdecode.py
+++ b/src/gfxstream/codegen/scripts/cereal/subdecode.py
@@ -333,17 +333,17 @@
"#define MAX_PACKET_LENGTH %s\n" % MAX_PACKET_LENGTH)
self.module.appendImpl(
- "size_t subDecode(VulkanMemReadingStream* readStream, VulkanDispatch* vk, void* boxed_dispatchHandle, void* dispatchHandle, VkDeviceSize dataSize, const void* pData, const VkDecoderContext& context)\n")
+ "size_t subDecode(VulkanMemReadingStream* readStream, VulkanDispatch* vk, void* boxed_dispatchHandle, void* dispatchHandle, VkDeviceSize subDecodeDataSize, const void* pSubDecodeData, const VkDecoderContext& context)\n")
self.cgen.beginBlock() # function body
self.cgen.stmt("auto& metricsLogger = *context.metricsLogger")
self.cgen.stmt("uint32_t count = 0")
- self.cgen.stmt("unsigned char *buf = (unsigned char *)pData")
+ self.cgen.stmt("unsigned char *buf = (unsigned char *)pSubDecodeData")
self.cgen.stmt("android::base::BumpPool* pool = readStream->pool()")
- self.cgen.stmt("unsigned char *ptr = (unsigned char *)pData")
+ self.cgen.stmt("unsigned char *ptr = (unsigned char *)pSubDecodeData")
self.cgen.stmt(
- "const unsigned char* const end = (const unsigned char*)buf + dataSize")
+ "const unsigned char* const end = (const unsigned char*)buf + subDecodeDataSize")
self.cgen.stmt(
"VkDecoderGlobalState* globalstate = VkDecoderGlobalState::get()")