Merged op dispatch in OpReorderer
bug:22480459
Also switches std::functions to function pointers on OpReorderer, and
switches AssetAtlas' entry getter methods to using pixelRef pointers,
so it's clear they're the keys.
Change-Id: I3040ce5ff4e178a8364e0fd7ab0876ada7d4de05
diff --git a/libs/hwui/BakedOpRenderer.h b/libs/hwui/BakedOpRenderer.h
index 62d1838..d7600db 100644
--- a/libs/hwui/BakedOpRenderer.h
+++ b/libs/hwui/BakedOpRenderer.h
@@ -67,7 +67,16 @@
Texture* getTexture(const SkBitmap* bitmap);
const LightInfo& getLightInfo() { return mLightInfo; }
- void renderGlop(const BakedOpState& state, const Glop& glop);
+ void renderGlop(const BakedOpState& state, const Glop& glop) {
+ bool useScissor = state.computedState.clipSideFlags != OpClipSideFlags::None;
+ renderGlop(&state.computedState.clippedBounds,
+ useScissor ? &state.computedState.clipRect : nullptr,
+ glop);
+ }
+
+ void renderGlop(const Rect* dirtyBounds, const Rect* clip, const Glop& glop);
+ bool offscreenRenderTarget() { return mRenderTarget.offscreenBuffer != nullptr; }
+ void dirtyRenderTarget(const Rect& dirtyRect);
bool didDraw() { return mHasDrawn; }
private:
void setViewport(uint32_t width, uint32_t height);