Fix SharedSurface_Gralloc::WaitForBufferOwnership() handling regresion

RESOLVED FIXED in Firefox 39

Status

()

defect
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: sotaro, Assigned: sotaro)

Tracking

({verifyme})

Trunk
mozilla39
ARM
Gonk (Firefox OS)
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(blocking-b2g:2.2+, firefox37 wontfix, firefox38 wontfix, firefox39 fixed, b2g-v2.2 fixed, b2g-master fixed)

Details

Attachments

(1 attachment)

Assignee

Description

4 years ago
Bug 1066280 fix removed of calling haredSurface_Gralloc::WaitForBufferOwnership(). It could cause a WebGL flickering problem on b2g like Bug 1006164. It is necessary to call the function.
Assignee

Updated

4 years ago
Blocks: 1066280
Assignee

Updated

4 years ago
blocking-b2g: --- → 2.2?
Assignee

Updated

4 years ago
Assignee: nobody → sotaro.ikeda.g
Assignee

Comment 1

4 years ago
SharedSurface_Gralloc::WaitForBufferOwnership() was added by Bug 950079.
Assignee

Updated

4 years ago
See Also: → 950079
Assignee

Updated

4 years ago
OS: Windows 7 → Gonk (Firefox OS)
Hardware: x86_64 → ARM
Sotaro, we've been seeing some bad flickering on v2.2 in some use cases.  This seems related.  What is in bug 1006164, I can't see to confirm if it is similar to our observations.
Assignee

Comment 3

4 years ago
This bug's flickering is related only to WebGL and OpenGL backed Canvas2d. If flickering happens on another use, it seems to be related to another bug.
Do you have an example app/site that demonstrates the issue being attributed to this bug, so we can check it here as well?
blocking-b2g: 2.2? → 2.2+
I think the skull app flickering would be an example?  You can add it from https://github.com/mozilla-b2g/gaia/tree/master/dev_apps/crystalskull.
Assignee

Comment 6

4 years ago
(In reply to Naoki Hirata :nhirata (please use needinfo instead of cc) from comment #5)
> I think the skull app flickering would be an example?  You can add it from
> https://github.com/mozilla-b2g/gaia/tree/master/dev_apps/crystalskull.

Naoki, did you see the flicker with crystallskull? This problem happened at very specific use cases on flame. On current v2.2 and master, WMW seems not cause the flickering problem.
Flags: needinfo?(nhirata.bugzilla)
Assignee

Comment 7

4 years ago
By the way, crystalskull did not work on master flame and master nexus-5-l :-(
Assignee

Comment 8

4 years ago
(In reply to Sotaro Ikeda [:sotaro] from comment #7)
> By the way, crystalskull did not work on master flame and master nexus-5-l
> :-(

Another problem is, WMW and crystalskull does not use HWC for rendering.
Assignee

Comment 9

4 years ago
(In reply to Sotaro Ikeda [:sotaro] from comment #8)
> Another problem is, WMW and crystalskull does not use HWC for rendering.

This seems dup of camera preview HWC bug.
Assignee

Updated

4 years ago
Attachment #8576233 - Flags: review?(jgilbert)
Attachment #8576233 - Flags: review?(jgilbert) → review+
https://hg.mozilla.org/mozilla-central/rev/392c688134bd
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
Assignee

Comment 13

4 years ago
Comment on attachment 8576233 [details] [diff] [review]
patch - Re-add WaitForBufferOwnership()

NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Bug 1066280
User impact if declined: WebGL rendering could cause flickering in some situations
Testing completed: locally testing
Risk to taking this patch (and alternatives if risky): low
String or UUID changes made by this patch: none
Attachment #8576233 - Flags: approval-mozilla-b2g37?
Comment on attachment 8576233 [details] [diff] [review]
patch - Re-add WaitForBufferOwnership()

Can QA see if there is anyway to verify/test this ?
Attachment #8576233 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Keywords: verifyme
Assignee

Updated

4 years ago
Flags: needinfo?(nhirata.bugzilla)
Assignee

Comment 15

4 years ago
(In reply to bhavana bajaj [:bajaj] from comment #14)
> Comment on attachment 8576233 [details] [diff] [review]
> patch - Re-add WaitForBufferOwnership()
> 
> Can QA see if there is anyway to verify/test this ?

I do not think it is possible. The STR happen in the past does not happen now. But this fix is necessary to prevent the problem.
Would the following 2 websites be good examples of WebGL and OpenGL backed Canvas2d?
https://www.scirra.com/labs/perftest-webgl/
http://www.goodboydigital.com/pixijs/examples/15/indexAll.html
Flags: needinfo?(sotaro.ikeda.g)
Assignee

Comment 18

4 years ago
(In reply to Parul Mathur [:pragmatic] from comment #17)
> Would the following 2 websites be good examples of WebGL and OpenGL backed
> Canvas2d?
> https://www.scirra.com/labs/perftest-webgl/
> http://www.goodboydigital.com/pixijs/examples/15/indexAll.html

Yhea,they could be good example that use WebGL and OpenGL backed Canvas2d. I confirmed that they uses OpenGL and SharedSurface. But they does not cause the problem like Bug 1006164.


FYI: OpenGL backed Canvas2d related diagram.
https://github.com/sotaroikeda/firefox-diagrams/blob/master/dom/dom_canvas_CanvasRenderingContext2D_FirefoxOS_2_2.pdf?raw=true
Flags: needinfo?(sotaro.ikeda.g)
Bug 1006164 uses the Disney app Where's My Water? to reproduce the black flickering issue. However, that app is not available for download from http://lostoracle.net/ 
or on the Firefox Marketplace 
https://marketplace.firefox.com/search?author=Disney
or Disney's website.
http://games.disney.com/wheres-my-water-app

Where can I get this app or a similar to verify this fix?
Flags: needinfo?(sotaro.ikeda.g)
Assignee

Comment 20

4 years ago
(In reply to Parul Mathur [:pragmatic] from comment #19)
> 
> Where can I get this app or a similar to verify this fix?

Even in the past, the problem was observed only on one use case of bug 1006164. But on current gecko, it does not happen anymore. Therefore, I do not know about it.
Flags: needinfo?(sotaro.ikeda.g)
Assignee

Comment 21

4 years ago
(In reply to Sotaro Ikeda [:sotaro] from comment #20)
> 
> Even in the past, the problem was observed only on one use case of bug
> 1006164. But on current gecko, it does not happen anymore. 

Correction:
Without the fix, the problem did not happen with WMW app.
Assignee

Comment 22

4 years ago
(In reply to Parul Mathur [:pragmatic] from comment #19)
> Bug 1006164 uses the Disney app Where's My Water? to reproduce the black
> flickering issue. However, that app is not available for download from
> http://lostoracle.net/ 
> or on the Firefox Marketplace 
> https://marketplace.firefox.com/search?author=Disney
> or Disney's website.
> http://games.disney.com/wheres-my-water-app
> 
> Where can I get this app or a similar to verify this fix?

Martin, do you know about how to get WMW?
Flags: needinfo?(mbest)
It's in the marketplace.  Harald or Nick over in partner engineering should be able to get you a copy.
Flags: needinfo?(mbest)
ni? \n to share a copy with :sotaro
Flags: needinfo?(nick)
(In reply to Sotaro Ikeda [:sotaro] from comment #20)
> (In reply to Parul Mathur [:pragmatic] from comment #19)
> > 
> > Where can I get this app or a similar to verify this fix?
> 
> Even in the past, the problem was observed only on one use case of bug
> 1006164. But on current gecko, it does not happen anymore. Therefore, I do
> not know about it.

Hop on mozilla MTV VPN, then it should be available here: http://nick.corp.mtv2.mozilla.com:3000/wmw-12-06-14-1.17.zip

VPN directions based on host OS: https://mana.mozilla.org/wiki/display/SD/VPN
Flags: needinfo?(nick)
backend issue. removing this in our queries.
QA Whiteboard: [QAExclude]
Flags: needinfo?(jmercado)
Flags: needinfo?(jmercado)
You need to log in before you can comment on or make changes to this bug.