WebGL problems on the adreno 200

RESOLVED WORKSFORME

Status

()

Core
Canvas: WebGL
RESOLVED WORKSFORME
6 years ago
5 years ago

People

(Reporter: cjones, Assigned: bjacob)

Tracking

Trunk
ARM
Android
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

What I'm seeing is that, in a setup where I have webgl running in a GL layer manager, the webgl canvas is rendered too-small and upside down.  It also flickers in such a way that makes me think we're not double-buffering or synchronizing it properly.

Webgl seems to work fine in web content loaded in fennec, but in normal fennec we've never had webgl layers directly in a GL layer manager, so I'm not surprised this setup is different.  With basic layers, we always read back from the webgl context so we're probably applying some local workaround.

I'll try to produce a small .apk testcase.  If I can't, I'll send some binaries.
(Assignee)

Updated

6 years ago
Depends on: 716859
(Assignee)

Comment 1

6 years ago
There indeed is no WebGL double-buffering at all at the moment. If your setup includes off-main-thread-compositing, that would explain the flickering. Filed bug 716859.
Not yet, no.
(Assignee)

Comment 3

6 years ago
I wasn't really working on that until now, but now I'm starting. assigning to myself.
Assignee: nobody → bjacob
Thanks!
(Assignee)

Comment 5

6 years ago
On EGL, we are currently always using PBuffers.

I get this message:

WARNING: Failed to create pbuffer, trying power of two dims: file /home/bjacob/mozilla-central/gfx/gl/GLContextProviderEGL.cpp, line 1089

Indeed, NPOT PBuffers aren't universally supported. That would explain the vertical squeezing, and a PBuffer-specific issue could also explain the flipping, like in bug 702058. Like for that bug, the solution would be to switch to using to using a FBO backed by a texture. Indeed, the GLES2 spec at least guarantees that in the 2D, no mipmap, clamp-to-edge case, NPOT textures must be supported.

Don't know yet about the other issues.
(Assignee)

Updated

6 years ago
Depends on: 720467
Blocks: 761585
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.