[android/platform-hardware-interfaces.git] / graphics / composer / 2.1 / utils / hal / include / composer-hal / 2.1 / ComposerResources.h
diff --git a/graphics/composer/2.1/utils/hal/include/composer-hal/2.1/ComposerResources.h b/graphics/composer/2.1/utils/hal/include/composer-hal/2.1/ComposerResources.h
index 7bb369296c35a98fe9e722a8c6dc7d4d6e4dcc17..2cbf044604720404dc950cf9f8ebdb02e5e16e41 100644 (file)
: mType(type),
mClientTargetCache(importer),
mOutputBufferCache(importer, ComposerHandleCache::HandleType::BUFFER,
- outputBufferCacheSize) {}
+ outputBufferCacheSize),
+ mMustValidate(true) {}
bool initClientTargetCache(uint32_t cacheSize) {
return mClientTargetCache.initCache(ComposerHandleCache::HandleType::BUFFER, cacheSize);
return layers;
}
+ void setMustValidateState(bool mustValidate) { mMustValidate = mustValidate; }
+
+ bool mustValidate() const { return mMustValidate; }
+
protected:
const DisplayType mType;
ComposerHandleCache mClientTargetCache;
ComposerHandleCache mOutputBufferCache;
+ bool mMustValidate;
std::unordered_map<Layer, std::unique_ptr<ComposerLayerResource>> mLayerResources;
};
outStreamHandle, outReplacedStream);
}
+ void setDisplayMustValidateState(Display display, bool mustValidate) {
+ std::lock_guard<std::mutex> lock(mDisplayResourcesMutex);
+ auto* displayResource = findDisplayResourceLocked(display);
+ if (displayResource) {
+ displayResource->setMustValidateState(mustValidate);
+ }
+ }
+
+ bool mustValidateDisplay(Display display) {
+ std::lock_guard<std::mutex> lock(mDisplayResourcesMutex);
+ auto* displayResource = findDisplayResourceLocked(display);
+ if (displayResource) {
+ return displayResource->mustValidate();
+ }
+ return false;
+ }
+
protected:
virtual std::unique_ptr<ComposerDisplayResource> createDisplayResource(
ComposerDisplayResource::DisplayType type, uint32_t outputBufferCacheSize) {