Merge "Fix merged bitmap mesh generation and reenable merging" into nyc-dev
am: 3f445f0eee
* commit '3f445f0eeea0c856916bd1170b5f09c0a3acc99f':
Fix merged bitmap mesh generation and reenable merging
This commit is contained in:
@@ -61,7 +61,10 @@ void BakedOpDispatcher::onMergedBitmapOps(BakedOpRenderer& renderer,
|
||||
for (size_t i = 0; i < opList.count; i++) {
|
||||
const BakedOpState& state = *(opList.states[i]);
|
||||
TextureVertex* rectVerts = &vertices[i * 4];
|
||||
Rect opBounds = state.computedState.clippedBounds;
|
||||
|
||||
// calculate unclipped bounds, since they'll determine texture coordinates
|
||||
Rect opBounds = state.op->unmappedBounds;
|
||||
state.computedState.transform.mapRect(opBounds);
|
||||
if (CC_LIKELY(state.computedState.transform.isPureTranslate())) {
|
||||
// pure translate, so snap (same behavior as onBitmapOp)
|
||||
opBounds.snapToPixelBoundaries();
|
||||
|
||||
@@ -517,10 +517,6 @@ void FrameBuilder::deferBitmapOp(const BitmapOp& op) {
|
||||
BakedOpState* bakedState = tryBakeOpState(op);
|
||||
if (!bakedState) return; // quick rejected
|
||||
|
||||
currentLayer().deferUnmergeableOp(mAllocator, bakedState, OpBatchType::Bitmap);
|
||||
|
||||
// TODO: Fix this ( b/26569206 )
|
||||
/*
|
||||
// Don't merge non-simply transformed or neg scale ops, SET_TEXTURE doesn't handle rotation
|
||||
// Don't merge A8 bitmaps - the paint's color isn't compared by mergeId, or in
|
||||
// MergingDrawBatch::canMergeWith()
|
||||
@@ -535,7 +531,6 @@ void FrameBuilder::deferBitmapOp(const BitmapOp& op) {
|
||||
} else {
|
||||
currentLayer().deferUnmergeableOp(mAllocator, bakedState, OpBatchType::Bitmap);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
void FrameBuilder::deferBitmapMeshOp(const BitmapMeshOp& op) {
|
||||
|
||||
@@ -216,8 +216,7 @@ TEST(FrameBuilder, simpleBatching) {
|
||||
<< "Expect number of ops = 2 * loop count";
|
||||
}
|
||||
|
||||
// TODO: Disabled due to b/26793764
|
||||
TEST(FrameBuilder, DISABLED_clippedMerging) {
|
||||
TEST(FrameBuilder, clippedMerging) {
|
||||
class ClippedMergingTestRenderer : public TestRendererBase {
|
||||
public:
|
||||
void onMergedBitmapOps(const MergedBakedOpList& opList) override {
|
||||
|
||||
Reference in New Issue
Block a user