Loading services/surfaceflinger/FrontEnd/RequestedLayerState.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -150,6 +150,8 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta ? ui::Size(externalTexture->getWidth(), externalTexture->getHeight()) : ui::Size(); const uint64_t oldUsageFlags = hadBuffer ? externalTexture->getUsage() : 0; const bool oldBufferFormatOpaque = LayerSnapshot::isOpaqueFormat( externalTexture ? externalTexture->getPixelFormat() : PIXEL_FORMAT_NONE); const bool hadSideStream = sidebandStream != nullptr; const layer_state_t& clientState = resolvedComposerState.state; Loading @@ -160,7 +162,7 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta LLOGV(layerId, "requested=%" PRIu64 "flags=%" PRIu64, clientState.what, clientChanges); if (clientState.what & layer_state_t::eFlagsChanged) { if ((oldFlags ^ flags) & layer_state_t::eLayerHidden) { if ((oldFlags ^ flags) & (layer_state_t::eLayerHidden | layer_state_t::eLayerOpaque)) { changes |= RequestedLayerState::Changes::Visibility | RequestedLayerState::Changes::VisibleRegion; } Loading Loading @@ -214,6 +216,13 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta barrierProducerId = std::max(bufferData->producerId, barrierProducerId); barrierFrameNumber = std::max(bufferData->frameNumber, barrierFrameNumber); } const bool newBufferFormatOpaque = LayerSnapshot::isOpaqueFormat( externalTexture ? externalTexture->getPixelFormat() : PIXEL_FORMAT_NONE); if (newBufferFormatOpaque != oldBufferFormatOpaque) { changes |= RequestedLayerState::Changes::Visibility | RequestedLayerState::Changes::VisibleRegion; } } if (clientState.what & layer_state_t::eSidebandStreamChanged) { Loading Loading
services/surfaceflinger/FrontEnd/RequestedLayerState.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -150,6 +150,8 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta ? ui::Size(externalTexture->getWidth(), externalTexture->getHeight()) : ui::Size(); const uint64_t oldUsageFlags = hadBuffer ? externalTexture->getUsage() : 0; const bool oldBufferFormatOpaque = LayerSnapshot::isOpaqueFormat( externalTexture ? externalTexture->getPixelFormat() : PIXEL_FORMAT_NONE); const bool hadSideStream = sidebandStream != nullptr; const layer_state_t& clientState = resolvedComposerState.state; Loading @@ -160,7 +162,7 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta LLOGV(layerId, "requested=%" PRIu64 "flags=%" PRIu64, clientState.what, clientChanges); if (clientState.what & layer_state_t::eFlagsChanged) { if ((oldFlags ^ flags) & layer_state_t::eLayerHidden) { if ((oldFlags ^ flags) & (layer_state_t::eLayerHidden | layer_state_t::eLayerOpaque)) { changes |= RequestedLayerState::Changes::Visibility | RequestedLayerState::Changes::VisibleRegion; } Loading Loading @@ -214,6 +216,13 @@ void RequestedLayerState::merge(const ResolvedComposerState& resolvedComposerSta barrierProducerId = std::max(bufferData->producerId, barrierProducerId); barrierFrameNumber = std::max(bufferData->frameNumber, barrierFrameNumber); } const bool newBufferFormatOpaque = LayerSnapshot::isOpaqueFormat( externalTexture ? externalTexture->getPixelFormat() : PIXEL_FORMAT_NONE); if (newBufferFormatOpaque != oldBufferFormatOpaque) { changes |= RequestedLayerState::Changes::Visibility | RequestedLayerState::Changes::VisibleRegion; } } if (clientState.what & layer_state_t::eSidebandStreamChanged) { Loading