diff --git a/engine/src/flutter/impeller/renderer/command.h b/engine/src/flutter/impeller/renderer/command.h index 62553269fd..a63f52f35a 100644 --- a/engine/src/flutter/impeller/renderer/command.h +++ b/engine/src/flutter/impeller/renderer/command.h @@ -29,7 +29,8 @@ namespace impeller { #endif // IMPELLER_DEBUG template -struct Resource { +class Resource { + public: using ResourceType = T; ResourceType resource; @@ -40,7 +41,7 @@ struct Resource { Resource(const ShaderMetadata& metadata, ResourceType p_resource) : resource(p_resource), - dynamic_metadata_(std::make_shared(metadata)) {} + dynamic_metadata_(std::make_unique(metadata)) {} const ShaderMetadata* GetMetadata() const { return dynamic_metadata_ ? dynamic_metadata_.get() : metadata_; @@ -51,7 +52,7 @@ struct Resource { const ShaderMetadata* metadata_ = nullptr; // Dynamically generated shader metadata. - std::shared_ptr dynamic_metadata_ = nullptr; + std::unique_ptr dynamic_metadata_ = nullptr; }; using BufferResource = Resource;