diff options
author | Kaiyi Li <kaiyili@google.com> | 2022-09-21 12:46:10 -0700 |
---|---|---|
committer | Kaiyi Li <kaiyili@google.com> | 2022-09-21 12:46:10 -0700 |
commit | b69cb6405c89bd5c1519614ce818e603ba79f10a (patch) | |
tree | 5d0be1d73726f72e18c8e7add7f317729cd8d8f5 | |
parent | 5a1efeaeb1981a32b436e6cc75dd004da4a4b08c (diff) | |
download | gfxstream-protocols-b69cb6405c89bd5c1519614ce818e603ba79f10a.tar.gz |
vulkan: add decoder context
Gather the objects injected to VkDecoder in a separate struct.
Change-Id: I5d78f3624f4af2785351ec098533213bf4908c15
-rw-r--r-- | registry/vulkan/scripts/cereal/decoder.py | 21 | ||||
-rw-r--r-- | registry/vulkan/scripts/cerealgenerator.py | 3 |
2 files changed, 10 insertions, 14 deletions
diff --git a/registry/vulkan/scripts/cereal/decoder.py b/registry/vulkan/scripts/cereal/decoder.py index dc1f4e29..798de582 100644 --- a/registry/vulkan/scripts/cereal/decoder.py +++ b/registry/vulkan/scripts/cereal/decoder.py @@ -33,8 +33,7 @@ public: ~VkDecoder(); void setForSnapshotLoad(bool forSnapshotLoad); size_t decode(void* buf, size_t bufsize, IOStream* stream, uint32_t* seqnoPtr, - emugl::GfxApiLogger& gfx_logger, emugl::HealthMonitor<>& healthMonitor, - const char* processName); + const VkDecoderContext&); private: class Impl; std::unique_ptr<Impl> mImpl; @@ -43,8 +42,6 @@ private: decoder_impl_preamble =""" using emugl::vkDispatch; -using emugl::GfxApiLogger; -using emugl::HealthMonitor; using emugl::HealthWatchdog; using namespace goldfish_vk; @@ -67,8 +64,7 @@ public: } size_t decode(void* buf, size_t bufsize, IOStream* stream, uint32_t* seqnoPtr, - GfxApiLogger& gfx_logger, HealthMonitor<>& healthMonitor, - const char* processName); + const VkDecoderContext&); private: bool m_logCalls; @@ -95,9 +91,8 @@ void VkDecoder::setForSnapshotLoad(bool forSnapshotLoad) { } size_t VkDecoder::decode(void* buf, size_t bufsize, IOStream* stream, uint32_t* seqnoPtr, - GfxApiLogger& gfx_logger, HealthMonitor<>& healthMonitor, - const char* processName) { - return mImpl->decode(buf, bufsize, stream, seqnoPtr, gfx_logger, healthMonitor, processName); + const VkDecoderContext& context) { + return mImpl->decode(buf, bufsize, stream, seqnoPtr, context); } // VkDecoder::Impl::decode to follow @@ -729,13 +724,15 @@ class VulkanDecoder(VulkanWrapperGenerator): self.module.appendImpl( """ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, uint32_t* seqnoPtr, - GfxApiLogger& gfx_logger, HealthMonitor<>& healthMonitor, - const char* processName) + const VkDecoderContext& context) """) self.cgen.beginBlock() # function body - self.cgen.stmt("if (len < 8) return 0;") + self.cgen.stmt("const char* processName = context.processName") + self.cgen.stmt("auto& gfx_logger = *context.gfxApiLogger") + self.cgen.stmt("auto& healthMonitor = *context.healthMonitor") + self.cgen.stmt("if (len < 8) return 0") self.cgen.stmt("bool queueSubmitWithCommandsEnabled = feature_is_enabled(kFeature_VulkanQueueSubmitWithCommands)") self.cgen.stmt("unsigned char *ptr = (unsigned char *)buf") self.cgen.stmt("const unsigned char* const end = (const unsigned char*)buf + len") diff --git a/registry/vulkan/scripts/cerealgenerator.py b/registry/vulkan/scripts/cerealgenerator.py index 7046ffcc..7a5d24df 100644 --- a/registry/vulkan/scripts/cerealgenerator.py +++ b/registry/vulkan/scripts/cerealgenerator.py @@ -376,8 +376,7 @@ using DlSymFunc = void* (void*, const char*); """ decoderHeaderIncludes = f""" -#include "{self.baseLibDirPrefix}/GfxApiLogger.h" -#include "{self.baseLibDirPrefix}/HealthMonitor.h" +#include "VkDecoderContext.h" #include <memory> |