#pragma once #include "RuntimeHost.h" #include #include #include class RuntimeSnapshotProvider { public: explicit RuntimeSnapshotProvider(RuntimeHost& runtimeHost); bool BuildLayerPassFragmentShaderSources(const std::string& layerId, std::vector& passSources, std::string& error) const; std::vector GetLayerRenderStates(unsigned outputWidth, unsigned outputHeight) const; bool TryGetLayerRenderStates(unsigned outputWidth, unsigned outputHeight, std::vector& states) const; bool TryRefreshCachedLayerStates(std::vector& states) const; void RefreshDynamicRenderStateFields(std::vector& states) const; uint64_t GetRenderStateVersion() const; uint64_t GetParameterStateVersion() const; private: RuntimeHost& mRuntimeHost; };