Closed Bug 899798 Opened 6 years ago Closed 6 years ago

[B2G] With Skia/GL, canvases get re-composited with B and R channels swapped

Categories

(Firefox OS Graveyard :: Hardware, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bjacob, Assigned: pchang)

References

Details

Attachments

(3 files)

Attached file testcase
Attached testcase just draws a red quad.

On B2G with Skia/GL (as enabled by attachment 782802 [details] [diff] [review]) this is first painted correctly, then (after half a second) re-painted in blue i.e. with R and B channels swapped.

This is in particular at least one of the problems happening in bug 899341.
This shows that the RGBA values read back from the canvas are correct (255, 0, 0, 255) even after the canvas has been re-rendered as blue. This means that the problem is purely a compositing problem, not an issue with the canvas' backbuffer actually getting modified.
Summary: [B2G] With Skia/GL, canvases get re-painted with B and R channels swapped → [B2G] With Skia/GL, canvases get re-composited with B and R channels swapped
Depends on: 886415
This issue was related to hwc composition which happened on leo and hamachi.
You can use below steps to disable HWC composition.

Right now we are waiting for bug 886415 to land.

1. adb shell mv /system/lib/hw/hwcomposer.msm7627a.so /system/lib/hw/hwcomposer.msm7627a.so_bak
2. adb shell stop b2g
3. adb shell start b2g
Blocks: 905214
Peter, now that bug 886415 is fixed, what are the next steps here?
Flags: needinfo?(pchang)
Milan, this might be the most 'open' of the remaining blockers for Skia/GL/B2G1.2. Need to figure whom this bug should be assigned to. I feel that I should finish work on the other blockers I'm already working on, before looking more into this one, so this might be better assigned to someone else than me.
Flags: needinfo?(milan)
Peter, any chance you can take a look at this?  It seems very related to the work you've previously done.
Assignee: nobody → pchang
Flags: needinfo?(milan)
I will import QCT release patch to B2G soon.
Flags: needinfo?(pchang)
Attachment #793824 - Flags: review?(bjacob)
Attachment #793824 - Flags: review?(mwu)
Attachment #793824 - Flags: review?(mwu) → review+
Verified the imported patch with my leo device and didn't have problem.

Paste the pull request link.
https://github.com/mozilla-b2g/gonk-patches/pull/2/commits
Comment on attachment 793824 [details] [diff] [review]
import RBSwap patch from CAF's patch queue

Michael, could you help me to grant my git pullrequest?
Attachment #793824 - Flags: review?(bjacob) → review+
Since I just imported the patch which got review+ on bug 881460 from QCT CAF, I think mwu's r+ is enough.
Michael, do you know who can help to grant the git pullrequest?
Flags: needinfo?(mwu)
I'll do it on Monday if you can't find someone in the Taipei office with access to the repo.
Flags: needinfo?(mwu)
(In reply to Michael Wu [:mwu] from comment #12)
> I'll do it on Monday if you can't find someone in the Taipei office with
> access to the repo.

I see, I will find mchen in TPE office first.
patch was merged, close case.

https://github.com/mozilla-b2g/gonk-patches
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Duplicate of this bug: 906534
Component: Graphics → Hardware
Product: Core → Boot2Gecko
Version: Trunk → unspecified
Hi Wayne :
 Please help us to push to merge this case into V1.1 HD. It blocked the Helix Device .If you can not resolve it , please get the authorization from carrier.
Flags: needinfo?(wchang)
In case this is confusing others as it has me - even though this bug was specific to 1.2, as SkiaGL wasn't on 1.1 or earlier, the fix is the same as for the duplicated bug 915869, and that is the one that is 1.1 specific.
(In reply to Milan Sreckovic [:milan] from comment #17)
> ...
> for the duplicated bug 915869, and that is the one that is 1.1 specific.

That would be bug 906534 instead.
Duplicate of this bug: 906534
Flags: needinfo?(wchang)
You need to log in before you can comment on or make changes to this bug.