Add SurfaceTexture support to GLBlitHelper::BlitSdToFramebuffer()
Categories
(Core :: Graphics: CanvasWebGL, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox98 | --- | fixed |
People
(Reporter: sotaro, Assigned: sotaro)
References
(Blocks 1 open bug)
Details
Attachments
(2 files, 1 obsolete file)
Blit support of SurfaceTexture was removed by Bug 1640607.
Assignee | ||
Comment 1•3 years ago
|
||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
•
|
||
I confirmed that that the patch work with pref "media.geckoview.autoplay.request" = false on geckoview example app at the following.
https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial/Animating_textures_in_WebGL
Assignee | ||
Comment 3•3 years ago
|
||
The patch seems to cause some test failures on Pixel2.
https://treeherder.mozilla.org/jobs?repo=try&revision=3faac087a5da40dbdfa297aab91c3b9923754d2f&selectedTaskRun=d3U4sCwZQDS-D7DjXfErpA.0
Assignee | ||
Comment 4•3 years ago
|
||
The test is disabled on emulator.
https://searchfox.org/mozilla-central/rev/011ed92913b38e950977ab3fc56ae68a8f3bca12/dom/canvas/test/webgl-conf/generated-mochitest.ini#6
Assignee | ||
Comment 5•3 years ago
|
||
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
Assignee | ||
Comment 7•3 years ago
•
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #4)
The test is disabled on emulator.
https://searchfox.org/mozilla-central/rev/011ed92913b38e950977ab3fc56ae68a8f3bca12/dom/canvas/test/webgl-conf/generated-mochitest.ini#6
It seems that "textureSize(tex, 0).y" == 0 when TexUnpackImage::TexOrSubImage() was used.
"textureSize(tex, 0).y" was valid when TexUnpackSurface::TexOrSubImage() (slow path)was used.
Assignee | ||
Comment 8•3 years ago
|
||
:jgilbert, do you have any ideas about why textureSize(tex, 0).y" was 0?
Comment 9•3 years ago
|
||
I have tested this patch on Oculus Quest 2 using this sample: https://immersive-web.github.io/webxr-samples/stereo-video.html
I found two problems:
- The video is upside down
- There is some flickering only when the video plays (are we missing any makeCurrent() calls?)
Comment 10•3 years ago
|
||
There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:sotaro, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 11•3 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #7)
(In reply to Sotaro Ikeda [:sotaro] from comment #4)
The test is disabled on emulator.
https://searchfox.org/mozilla-central/rev/011ed92913b38e950977ab3fc56ae68a8f3bca12/dom/canvas/test/webgl-conf/generated-mochitest.ini#6It seems that "textureSize(tex, 0).y" == 0 when TexUnpackImage::TexOrSubImage() was used.
"textureSize(tex, 0).y" was valid when TexUnpackSurface::TexOrSubImage() (slow path)was used.
textureSize == 0 is generally from incomplete textures, or maybe we just never initialized it.
It's possible for e.g. TEXTURE_MIN_FILTER to default to trying to mipmap, which will cause incomplete textures like this.
My guess is either the upload is failing or the filter is asking for mipmaps and causing an "incomplete" texture.
Comment 12•2 years ago
|
||
Pushed by sikeda.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c333871e1c59 Add SurfaceTexture support to GLBlitHelper::BlitSdToFramebuffer() r=jgilbert,gfx-reviewers
Assignee | ||
Updated•2 years ago
|
Comment 13•2 years ago
|
||
bugherder |
Description
•