Closed Bug 905214 Opened 11 years ago Closed 11 years ago

Tracking bug for enabling Skia/GL canvas in B2G 1.2

Categories

(Core :: Graphics: Canvas2D, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla26
blocking-b2g koi+
Tracking Status
firefox26 --- fixed

People

(Reporter: bjacob, Assigned: bjacob)

References

Details

We already have a couple of related tracking bugs (758845, 858237) but this one must be only the strict set of issues that we must fix over the next 3 weeks (must be in Gecko 26) in order to be able to turn on Skia/GL canvas in time for B2G 1.2.
Depends on bug 905141: B2G emulator's OpenGL ES implementation needs to support BGRA textures

Reason: Skia/GL requires BGRA textures support; every real device that we care about supports that OpenGL extension, only the emulator doesn't.
Depends on: 905141
Depends on bug 899798: [B2G] With Skia/GL, canvases get re-composited with B and R channels swapped

Reason: Although this doesn't show up on TBPL, this bug causes a severe visual regression on real devices that we care about (hamachi). The reason why it only happens on device and not in emulator seems to be that it is a bug with hwcomposer2d compositing.
Depends on: 899798
Depends on bug 905227: Do not use Skia/GL for canvases smaller than a certain size

Reason: see bug 905277 comment 0: Gaia uses a lot of small canvases, for which Skia/GL is of no benefit and would only increase memory usage and likely regress performance.

That in turn depends on bug 905217: Expand the canvas2D mochitests to test more than just one canvas size

Reason: see bug 905217 comment 0: currently our mochitest mostly only tests canvases of size 100x50. If we alternate between two code paths, we need to ensure that both are tested.
Depends on: 905227, 905217
Depends on bug 900201: Implement GfxInfo on gonk

Reason: this is required for the canvas mochitests to work, as they use gfxInfo to determine whether Skia-specific extra tolerance tweaks are needed.
Depends on: 900201
(In reply to Benoit Jacob [:bjacob] from comment #2)
> Depends on bug 899798: [B2G] With Skia/GL, canvases get re-composited with B
> and R channels swapped
> 
> Reason: Although this doesn't show up on TBPL, this bug causes a severe
> visual regression on real devices that we care about (hamachi). The reason
> why it only happens on device and not in emulator seems to be that it is a
> bug with hwcomposer2d compositing.

This should be blocked by bug 886415.
Depends on: 886415
Thanks Peter! Good to know. Will follow up on bug 899798.
Depends on: 907254
Depends on: 907256
Depends on: 907723
Should we put some keyword on this bug to make it detected as a "b2g 1.2 must-have" and show up in https://wiki.mozilla.org/FirefoxOS/OneDotTwoTracking/Dashboard#System_platform_team ?
Flags: needinfo?(milan)
Let's run it through triage and decide if this is a blocker for 1.2.

Benoit, can this bug be set to resolved/fixed?  We do want to deal with bug 905217, but it doesn't actually block enabling SkiaGL (given that we already did enable it)?  I don't want to prematurely mark it fixed, just checking.
blocking-b2g: --- → koi?
Flags: needinfo?(milan)
No longer depends on: 905217
Absolutely, bug 905217 is mochitests only, it doesn't actually block this.

As of Friday last week, Skia/GL is enabled on B2G for canvas sizes >= 128 pixels, and to my knowledge there is no reported regression. So this is fixed.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Note: the last blocker, where we actually turned Skia/GL on, was bug 905227.
Blocks: 883445
Tagging koi+ as this is in 26 already.
blocking-b2g: koi? → koi+
Assignee: nobody → bjacob
You need to log in before you can comment on or make changes to this bug.