Closed Bug 1142071 Opened 5 years ago Closed 5 years ago

Fix SharedSurface_Gralloc::WaitForBufferOwnership() handling regresion

Categories

(Core :: Graphics, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
blocking-b2g 2.2+
Tracking Status
firefox37 --- wontfix
firefox38 --- wontfix
firefox39 --- fixed
b2g-v2.2 --- fixed
b2g-master --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

(Keywords: verifyme)

Attachments

(1 file)

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.
Blocks: 1066280
blocking-b2g: --- → 2.2?
Assignee: nobody → sotaro.ikeda.g
SharedSurface_Gralloc::WaitForBufferOwnership() was added by Bug 950079.
See Also: → 950079
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.
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.
(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)
By the way, crystalskull did not work on master flame and master nexus-5-l :-(
(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.
(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.
Attachment #8576233 - Flags: review?(jgilbert)
Attachment #8576233 - Flags: review?(jgilbert) → review+
https://hg.mozilla.org/mozilla-central/rev/392c688134bd
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
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
Flags: needinfo?(nhirata.bugzilla)
(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)
(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)
(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)
(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.
(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.