Loading services/surfaceflinger/BufferLayer.cpp +10 −26 Original line number Diff line number Diff line Loading @@ -160,8 +160,6 @@ void BufferLayer::onDraw(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform) const { ATRACE_CALL(); CompositionInfo& compositionInfo = getBE().compositionInfo; if (CC_UNLIKELY(mActiveBuffer == 0)) { // the texture has not been created yet, this Layer has // in fact never been drawn into. This happens frequently with Loading Loading @@ -243,7 +241,6 @@ void BufferLayer::onDraw(const RenderArea& renderArea, const Region& clip, mTexture.setDimensions(mActiveBuffer->getWidth(), mActiveBuffer->getHeight()); mTexture.setFiltering(useFiltering); mTexture.setMatrix(textureMatrix); compositionInfo.re.texture = mTexture; engine.setupLayerTexturing(mTexture); } else { Loading @@ -253,23 +250,6 @@ void BufferLayer::onDraw(const RenderArea& renderArea, const Region& clip, engine.disableTexturing(); } void BufferLayer::drawNow(const RenderArea& renderArea, bool useIdentityTransform) const { CompositionInfo& compositionInfo = getBE().compositionInfo; auto& engine(mFlinger->getRenderEngine()); draw(renderArea, useIdentityTransform); engine.setupLayerTexturing(compositionInfo.re.texture); engine.setupLayerBlending(compositionInfo.re.preMultipliedAlpha, compositionInfo.re.opaque, false, compositionInfo.re.color); engine.setSourceDataSpace(compositionInfo.hwc.dataspace); engine.setSourceY410BT2020(compositionInfo.re.Y410BT2020); engine.drawMesh(getBE().getMesh()); engine.disableBlending(); engine.disableTexturing(); engine.setSourceY410BT2020(false); } void BufferLayer::onLayerDisplayed(const sp<Fence>& releaseFence) { mConsumer->setReleaseFence(releaseFence); } Loading Loading @@ -830,17 +810,21 @@ void BufferLayer::drawWithOpenGL(const RenderArea& renderArea, bool useIdentityT texCoords[2] = vec2(right, 1.0f - bottom); texCoords[3] = vec2(right, 1.0f - top); getBE().compositionInfo.re.preMultipliedAlpha = mPremultipliedAlpha; getBE().compositionInfo.re.opaque = isOpaque(s); getBE().compositionInfo.re.disableTexture = false; getBE().compositionInfo.re.color = getColor(); getBE().compositionInfo.hwc.dataspace = mCurrentState.dataSpace; auto& engine(mFlinger->getRenderEngine()); engine.setupLayerBlending(mPremultipliedAlpha, isOpaque(s), false /* disableTexture */, getColor()); engine.setSourceDataSpace(mCurrentState.dataSpace); if (mCurrentState.dataSpace == HAL_DATASPACE_BT2020_ITU_PQ && mConsumer->getCurrentApi() == NATIVE_WINDOW_API_MEDIA && getBE().compositionInfo.mBuffer->getPixelFormat() == HAL_PIXEL_FORMAT_RGBA_1010102) { getBE().compositionInfo.re.Y410BT2020 = true; engine.setSourceY410BT2020(true); } engine.drawMesh(getBE().mMesh); engine.disableBlending(); engine.setSourceY410BT2020(false); } uint32_t BufferLayer::getProducerStickyTransform() const { Loading services/surfaceflinger/BufferLayer.h +0 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,6 @@ public: */ void onDraw(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform) const override; void drawNow(const RenderArea& renderArea, bool useIdentityTransform) const; void onLayerDisplayed(const sp<Fence>& releaseFence) override; Loading services/surfaceflinger/ColorLayer.cpp +7 −18 Original line number Diff line number Diff line Loading @@ -46,26 +46,15 @@ void ColorLayer::onDraw(const RenderArea& renderArea, const Region& /* clip */, bool useIdentityTransform) const { const State& s(getDrawingState()); if (s.color.a > 0) { computeGeometry(renderArea, getBE().mMesh, useIdentityTransform); getBE().compositionInfo.re.preMultipliedAlpha = getPremultipledAlpha(); getBE().compositionInfo.re.opaque = false; getBE().compositionInfo.re.disableTexture = true; getBE().compositionInfo.re.color = s.color; } } void ColorLayer::drawNow(const RenderArea& renderArea, bool useIdentityTransform) const { CompositionInfo& compositionInfo = getBE().compositionInfo; Mesh mesh(Mesh::TRIANGLE_FAN, 4, 2); computeGeometry(renderArea, mesh, useIdentityTransform); auto& engine(mFlinger->getRenderEngine()); draw(renderArea, useIdentityTransform); engine.setupLayerBlending(compositionInfo.re.preMultipliedAlpha, compositionInfo.re.opaque, compositionInfo.re.disableTexture, compositionInfo.re.color); engine.setSourceDataSpace(compositionInfo.hwc.dataspace); engine.drawMesh(getBE().getMesh()); engine.setupLayerBlending(getPremultipledAlpha(), false /* opaque */, true /* disableTexture */, s.color); engine.drawMesh(mesh); engine.disableBlending(); } } bool ColorLayer::isVisible() const { const Layer::State& s(getDrawingState()); Loading services/surfaceflinger/ColorLayer.h +0 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ public: virtual const char* getTypeId() const { return "ColorLayer"; } virtual void onDraw(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform) const; void drawNow(const RenderArea& , bool ) const; bool isVisible() const override; void setPerFrameData(const sp<const DisplayDevice>& displayDevice) override; Loading services/surfaceflinger/ContainerLayer.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,6 @@ ContainerLayer::ContainerLayer(SurfaceFlinger* flinger, const sp<Client>& client void ContainerLayer::onDraw(const RenderArea&, const Region& /* clip */, bool) const {} void ContainerLayer::drawNow(const RenderArea&, bool) const {} bool ContainerLayer::isVisible() const { return !isHiddenByPolicy(); } Loading Loading
services/surfaceflinger/BufferLayer.cpp +10 −26 Original line number Diff line number Diff line Loading @@ -160,8 +160,6 @@ void BufferLayer::onDraw(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform) const { ATRACE_CALL(); CompositionInfo& compositionInfo = getBE().compositionInfo; if (CC_UNLIKELY(mActiveBuffer == 0)) { // the texture has not been created yet, this Layer has // in fact never been drawn into. This happens frequently with Loading Loading @@ -243,7 +241,6 @@ void BufferLayer::onDraw(const RenderArea& renderArea, const Region& clip, mTexture.setDimensions(mActiveBuffer->getWidth(), mActiveBuffer->getHeight()); mTexture.setFiltering(useFiltering); mTexture.setMatrix(textureMatrix); compositionInfo.re.texture = mTexture; engine.setupLayerTexturing(mTexture); } else { Loading @@ -253,23 +250,6 @@ void BufferLayer::onDraw(const RenderArea& renderArea, const Region& clip, engine.disableTexturing(); } void BufferLayer::drawNow(const RenderArea& renderArea, bool useIdentityTransform) const { CompositionInfo& compositionInfo = getBE().compositionInfo; auto& engine(mFlinger->getRenderEngine()); draw(renderArea, useIdentityTransform); engine.setupLayerTexturing(compositionInfo.re.texture); engine.setupLayerBlending(compositionInfo.re.preMultipliedAlpha, compositionInfo.re.opaque, false, compositionInfo.re.color); engine.setSourceDataSpace(compositionInfo.hwc.dataspace); engine.setSourceY410BT2020(compositionInfo.re.Y410BT2020); engine.drawMesh(getBE().getMesh()); engine.disableBlending(); engine.disableTexturing(); engine.setSourceY410BT2020(false); } void BufferLayer::onLayerDisplayed(const sp<Fence>& releaseFence) { mConsumer->setReleaseFence(releaseFence); } Loading Loading @@ -830,17 +810,21 @@ void BufferLayer::drawWithOpenGL(const RenderArea& renderArea, bool useIdentityT texCoords[2] = vec2(right, 1.0f - bottom); texCoords[3] = vec2(right, 1.0f - top); getBE().compositionInfo.re.preMultipliedAlpha = mPremultipliedAlpha; getBE().compositionInfo.re.opaque = isOpaque(s); getBE().compositionInfo.re.disableTexture = false; getBE().compositionInfo.re.color = getColor(); getBE().compositionInfo.hwc.dataspace = mCurrentState.dataSpace; auto& engine(mFlinger->getRenderEngine()); engine.setupLayerBlending(mPremultipliedAlpha, isOpaque(s), false /* disableTexture */, getColor()); engine.setSourceDataSpace(mCurrentState.dataSpace); if (mCurrentState.dataSpace == HAL_DATASPACE_BT2020_ITU_PQ && mConsumer->getCurrentApi() == NATIVE_WINDOW_API_MEDIA && getBE().compositionInfo.mBuffer->getPixelFormat() == HAL_PIXEL_FORMAT_RGBA_1010102) { getBE().compositionInfo.re.Y410BT2020 = true; engine.setSourceY410BT2020(true); } engine.drawMesh(getBE().mMesh); engine.disableBlending(); engine.setSourceY410BT2020(false); } uint32_t BufferLayer::getProducerStickyTransform() const { Loading
services/surfaceflinger/BufferLayer.h +0 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,6 @@ public: */ void onDraw(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform) const override; void drawNow(const RenderArea& renderArea, bool useIdentityTransform) const; void onLayerDisplayed(const sp<Fence>& releaseFence) override; Loading
services/surfaceflinger/ColorLayer.cpp +7 −18 Original line number Diff line number Diff line Loading @@ -46,26 +46,15 @@ void ColorLayer::onDraw(const RenderArea& renderArea, const Region& /* clip */, bool useIdentityTransform) const { const State& s(getDrawingState()); if (s.color.a > 0) { computeGeometry(renderArea, getBE().mMesh, useIdentityTransform); getBE().compositionInfo.re.preMultipliedAlpha = getPremultipledAlpha(); getBE().compositionInfo.re.opaque = false; getBE().compositionInfo.re.disableTexture = true; getBE().compositionInfo.re.color = s.color; } } void ColorLayer::drawNow(const RenderArea& renderArea, bool useIdentityTransform) const { CompositionInfo& compositionInfo = getBE().compositionInfo; Mesh mesh(Mesh::TRIANGLE_FAN, 4, 2); computeGeometry(renderArea, mesh, useIdentityTransform); auto& engine(mFlinger->getRenderEngine()); draw(renderArea, useIdentityTransform); engine.setupLayerBlending(compositionInfo.re.preMultipliedAlpha, compositionInfo.re.opaque, compositionInfo.re.disableTexture, compositionInfo.re.color); engine.setSourceDataSpace(compositionInfo.hwc.dataspace); engine.drawMesh(getBE().getMesh()); engine.setupLayerBlending(getPremultipledAlpha(), false /* opaque */, true /* disableTexture */, s.color); engine.drawMesh(mesh); engine.disableBlending(); } } bool ColorLayer::isVisible() const { const Layer::State& s(getDrawingState()); Loading
services/surfaceflinger/ColorLayer.h +0 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ public: virtual const char* getTypeId() const { return "ColorLayer"; } virtual void onDraw(const RenderArea& renderArea, const Region& clip, bool useIdentityTransform) const; void drawNow(const RenderArea& , bool ) const; bool isVisible() const override; void setPerFrameData(const sp<const DisplayDevice>& displayDevice) override; Loading
services/surfaceflinger/ContainerLayer.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,6 @@ ContainerLayer::ContainerLayer(SurfaceFlinger* flinger, const sp<Client>& client void ContainerLayer::onDraw(const RenderArea&, const Region& /* clip */, bool) const {} void ContainerLayer::drawNow(const RenderArea&, bool) const {} bool ContainerLayer::isVisible() const { return !isHiddenByPolicy(); } Loading