Loading libs/hwui/Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk HWUI_NEW_OPS := false HWUI_NEW_OPS := true hwui_src_files := \ font/CacheTexture.cpp \ Loading libs/hwui/BakedOpDispatcher.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -735,6 +735,20 @@ void BakedOpDispatcher::onTextOnPathOp(BakedOpRenderer& renderer, const TextOnPa } } void BakedOpDispatcher::onTextureLayerOp(BakedOpRenderer& renderer, const TextureLayerOp& op, const BakedOpState& state) { const bool tryToSnap = !op.layer->getForceFilter(); float alpha = (op.layer->getAlpha() / 255.0f) * state.alpha; Glop glop; GlopBuilder(renderer.renderState(), renderer.caches(), &glop) .setRoundRectClipState(state.roundRectClipState) .setMeshTexturedUvQuad(nullptr, Rect(0, 1, 1, 0)) // TODO: simplify with VBO .setFillTextureLayer(*(op.layer), alpha) .setTransform(state.computedState.transform, TransformFlags::None) .setModelViewMapUnitToRectOptionalSnap(tryToSnap, Rect(op.layer->getWidth(), op.layer->getHeight())) .build(); renderer.renderGlop(state, glop); } void BakedOpDispatcher::onLayerOp(BakedOpRenderer& renderer, const LayerOp& op, const BakedOpState& state) { OffscreenBuffer* buffer = *op.layerHandle; Loading libs/hwui/DeferredLayerUpdater.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -53,8 +53,7 @@ void DeferredLayerUpdater::setPaint(const SkPaint* paint) { SkRefCnt_SafeAssign(mColorFilter, colorFilter); } bool DeferredLayerUpdater::apply() { bool success = true; void DeferredLayerUpdater::apply() { // These properties are applied the same to both layer types mLayer->setColorFilter(mColorFilter); mLayer->setAlpha(mAlpha, mMode); Loading @@ -73,7 +72,6 @@ bool DeferredLayerUpdater::apply() { setTransform(nullptr); } } return success; } void DeferredLayerUpdater::doUpdateTexImage() { Loading libs/hwui/DeferredLayerUpdater.h +2 −2 Original line number Diff line number Diff line Loading @@ -77,13 +77,13 @@ public: ANDROID_API void setPaint(const SkPaint* paint); ANDROID_API bool apply(); void apply(); Layer* backingLayer() { return mLayer; } ANDROID_API void detachSurfaceTexture(); void detachSurfaceTexture(); private: // Generic properties Loading libs/hwui/LayerRenderer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -287,7 +287,7 @@ Layer* LayerRenderer::createTextureLayer(RenderState& renderState) { } void LayerRenderer::updateTextureLayer(Layer* layer, uint32_t width, uint32_t height, bool isOpaque, bool forceFilter, GLenum renderTarget, float* textureTransform) { bool isOpaque, bool forceFilter, GLenum renderTarget, const float* textureTransform) { if (layer) { layer->setBlend(!isOpaque); layer->setForceFilter(forceFilter); Loading Loading
libs/hwui/Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk HWUI_NEW_OPS := false HWUI_NEW_OPS := true hwui_src_files := \ font/CacheTexture.cpp \ Loading
libs/hwui/BakedOpDispatcher.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -735,6 +735,20 @@ void BakedOpDispatcher::onTextOnPathOp(BakedOpRenderer& renderer, const TextOnPa } } void BakedOpDispatcher::onTextureLayerOp(BakedOpRenderer& renderer, const TextureLayerOp& op, const BakedOpState& state) { const bool tryToSnap = !op.layer->getForceFilter(); float alpha = (op.layer->getAlpha() / 255.0f) * state.alpha; Glop glop; GlopBuilder(renderer.renderState(), renderer.caches(), &glop) .setRoundRectClipState(state.roundRectClipState) .setMeshTexturedUvQuad(nullptr, Rect(0, 1, 1, 0)) // TODO: simplify with VBO .setFillTextureLayer(*(op.layer), alpha) .setTransform(state.computedState.transform, TransformFlags::None) .setModelViewMapUnitToRectOptionalSnap(tryToSnap, Rect(op.layer->getWidth(), op.layer->getHeight())) .build(); renderer.renderGlop(state, glop); } void BakedOpDispatcher::onLayerOp(BakedOpRenderer& renderer, const LayerOp& op, const BakedOpState& state) { OffscreenBuffer* buffer = *op.layerHandle; Loading
libs/hwui/DeferredLayerUpdater.cpp +1 −3 Original line number Diff line number Diff line Loading @@ -53,8 +53,7 @@ void DeferredLayerUpdater::setPaint(const SkPaint* paint) { SkRefCnt_SafeAssign(mColorFilter, colorFilter); } bool DeferredLayerUpdater::apply() { bool success = true; void DeferredLayerUpdater::apply() { // These properties are applied the same to both layer types mLayer->setColorFilter(mColorFilter); mLayer->setAlpha(mAlpha, mMode); Loading @@ -73,7 +72,6 @@ bool DeferredLayerUpdater::apply() { setTransform(nullptr); } } return success; } void DeferredLayerUpdater::doUpdateTexImage() { Loading
libs/hwui/DeferredLayerUpdater.h +2 −2 Original line number Diff line number Diff line Loading @@ -77,13 +77,13 @@ public: ANDROID_API void setPaint(const SkPaint* paint); ANDROID_API bool apply(); void apply(); Layer* backingLayer() { return mLayer; } ANDROID_API void detachSurfaceTexture(); void detachSurfaceTexture(); private: // Generic properties Loading
libs/hwui/LayerRenderer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -287,7 +287,7 @@ Layer* LayerRenderer::createTextureLayer(RenderState& renderState) { } void LayerRenderer::updateTextureLayer(Layer* layer, uint32_t width, uint32_t height, bool isOpaque, bool forceFilter, GLenum renderTarget, float* textureTransform) { bool isOpaque, bool forceFilter, GLenum renderTarget, const float* textureTransform) { if (layer) { layer->setBlend(!isOpaque); layer->setForceFilter(forceFilter); Loading