Closed
Bug 1020745
Opened 11 years ago
Closed 11 years ago
[Flame] Unable to use full HW composition in video player
Categories
(Firefox OS Graveyard :: GonkIntegration, defect)
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: schiu, Assigned: schiu)
Details
Attachments
(2 files)
When playing the video in full screen mode, the full HW composition cannot be performed, even the tiling is turned off.
Assignee | ||
Comment 1•11 years ago
|
||
Assignee | ||
Comment 2•11 years ago
|
||
Assignee | ||
Comment 3•11 years ago
|
||
LayerManager (0xaf5be860)
ContainerLayerComposite (0xafa7ec00) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [opaqueContent] [metrics={ viewport=(x=0.000000, y=0.000000, w=320.000000, h=569.333313) viewportScroll=(x=0.000000, y=0.000000) displayport=(x=0.000000, y=0.000000, w=0.000000, h=0.000000) scrollableRect=(x=0.000000, y=0.000000, w=320.000000, h=569.333313) scrollId=0 }]
ThebesLayerComposite (0xafa7f000) [shadow-clip=(x=0, y=0, w=0, h=0)] [clip=(x=0, y=0, w=0, h=0)] [not visible]
ColorLayerComposite (0xafa80c00) [not visible] [opaqueContent] [color=rgba(0, 0, 0, 1)]
ContainerLayerComposite (0xafa7f400) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-visible=< (x=0, y=0, w=480, h=854); >] [clip=(x=0, y=0, w=480, h=854)] [visible=< (x=0, y=0, w=480, h=854); >] [opaqueContent]
ThebesLayerComposite (0xafa7f800) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [opaqueContent] [valid=< (x=0, y=0, w=480, h=854); >]
ContentHost (0xaed729b0) [buffer-rect=(x=0, y=0, w=480, h=854)] [buffer-rotation=(x=0, y=0)]
GrallocTextureHostOGL (0xaed36600) [size=(width=480, height=854)] [format=SurfaceFormat::B8G8R8X8] [flags=TextureFlags::ALLOW_REPEAT]
ContainerLayerComposite (0xafaaa800) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 1 0; 0 1; -480 0; ]] [shadow-visible=< (x=0, y=0, w=480, h=854); >] [clip=(x=0, y=0, w=480, h=854)] [transform=[ 1 0; 0 1; -480 0; ]] [visible=< (x=0, y=0, w=480, h=854); >]
ContainerLayerComposite (0xb0868000) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [opaqueContent]
ThebesLayerComposite (0xb0868c00) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [opaqueContent] [valid=< (x=0, y=0, w=480, h=854); >]
ContentHost (0xb007f1d0) [buffer-rect=(x=0, y=0, w=480, h=854)] [buffer-rotation=(x=0, y=0)] [paint-will-resample]
GrallocTextureHostOGL (0xb07fcbf0) [size=(width=480, height=854)] [format=SurfaceFormat::B8G8R8X8] [flags=]
CanvasLayerComposite (0xb0879400) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 1 0; 0 1; 0 718.75; ]] [shadow-visible=< (x=0, y=0, w=480, h=120); >] [clip=(x=0, y=0, w=480, h=854)] [transform=[ 1 0; 0 1; 0 718.75; ]] [visible=< (x=0, y=0, w=480, h=120); >]
ImageHost (0xb081b1a0) [picture-rect=(x=0, y=0, w=0, h=0)]
MemoryTextureHost (0xb081b1f0) [size=(width=0, height=0)] [format=SurfaceFormat::B8G8R8A8] [flags=]
ThebesLayerComposite (0xb0bd3000) [shadow-visible=< (x=382, y=756, w=46, h=8); (x=57, y=764, w=36, h=30); (x=382, y=764, w=46, h=30); (x=382, y=794, w=46, h=8); >] [visible=< (x=382, y=756, w=46, h=8); (x=57, y=764, w=36, h=30); (x=382, y=764, w=46, h=30); (x=382, y=794, w=46, h=8); >] [valid=< (x=57, y=756, w=371, h=46); >]
ContentHost (0xb007fbe0) [buffer-rect=(x=57, y=756, w=371, h=46)] [buffer-rotation=(x=0, y=0)] [paint-will-resample]
GrallocTextureHostOGL (0xb081b240) [size=(width=371, height=46)] [format=SurfaceFormat::B8G8R8A8] [flags=]
ContainerLayerComposite (0xb0bd4000) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-visible=< (x=0, y=0, w=480, h=854); >] [clip=(x=0, y=0, w=480, h=854)] [visible=< (x=0, y=0, w=480, h=854); >]
ThebesLayerComposite (0xb0bd4800) [shadow-clip=(x=0, y=0, w=0, h=0)] [clip=(x=0, y=0, w=0, h=0)] [not visible]
ColorLayerComposite (0xb0bd5000) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [color=rgba(255, 255, 255, 0.8)]
ThebesLayerComposite (0xb0bd6c00) [shadow-visible=< (x=26, y=63, w=424, h=160); >] [visible=< (x=26, y=63, w=424, h=160); >] [valid=< (x=26, y=63, w=424, h=160); >]
ContentHost (0xaff7b7b0) [buffer-rect=(x=26, y=63, w=424, h=160)] [buffer-rotation=(x=0, y=0)] [paint-will-resample]
GrallocTextureHostOGL (0xb081b330) [size=(width=424, height=160)] [format=SurfaceFormat::B8G8R8A8] [flags=]
ContainerLayerComposite (0xb124c800) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-visible=< (x=0, y=0, w=480, h=854); >] [clip=(x=0, y=0, w=480, h=854)] [visible=< (x=0, y=0, w=480, h=854); >]
ContainerLayerComposite (0xb124e000) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >]
ContainerLayerComposite (0xaed7e800) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-visible=< (x=0, y=0, w=480, h=854); >] [clip=(x=0, y=0, w=480, h=854)] [visible=< (x=0, y=0, w=480, h=854); >]
ThebesLayerComposite (0xb07a7000) [shadow-clip=(x=0, y=0, w=0, h=0)] [clip=(x=0, y=0, w=0, h=0)] [not visible]
ColorLayerComposite (0xb0866800) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [opaqueContent] [color=rgba(14, 18, 20, 1)]
RefLayerComposite (0xb0867c00) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-visible=< (x=0, y=0, w=480, h=854); >] [clip=(x=0, y=0, w=480, h=854)] [visible=< (x=0, y=0, w=480, h=854); >] [id=4]
ContainerLayerComposite (0xb0867800) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [metrics={ viewport=(x=0.000000, y=0.000000, w=320.000000, h=569.000000) viewportScroll=(x=0.000000, y=0.000000) displayport=(x=0.000000, y=0.000000, w=320.000000, h=569.333313) scrollableRect=(x=0.000000, y=0.000000, w=320.000000, h=569.000000) scrollId=3 }]
ThebesLayerComposite (0xb0868400) [shadow-visible=< (x=0, y=0, w=480, h=854); >] [visible=< (x=0, y=0, w=480, h=854); >] [opaqueContent] [valid=< (x=0, y=0, w=480, h=854); >]
ContentHost (0xaff7b820) [buffer-rect=(x=0, y=0, w=480, h=854)] [buffer-rotation=(x=0, y=0)] [paint-will-resample]
GrallocTextureHostOGL (0xaf26d6f0) [size=(width=480, height=854)] [format=SurfaceFormat::B8G8R8X8] [flags=]
ContainerLayerComposite (0xb0868800) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 0.25 0; 0 0.25; 0 291.75; ]] [shadow-visible=< (x=0, y=0, w=480, h=270); >] [clip=(x=0, y=0, w=480, h=854)] [transform=[ 0.25 0; 0 0.25; 0 291.75; ]] [visible=< (x=0, y=0, w=480, h=270); >] [preScale=4, 4]
ImageLayerComposite (0xb087a000) [shadow-transform=[ 1.5 0; 0 1.5; 0 0; ]] [shadow-visible=< (x=0, y=0, w=1280, h=720); >] [postScale=0.25, 0.25] [transform=[ 1.5 0; 0 1.5; 0 0; ]] [visible=< (x=0, y=0, w=1280, h=720); >] [opaqueContent]
ImageHost (0xb0520600) [picture-rect=(x=0, y=0, w=1280, h=720)]
GrallocTextureHostOGL (0xb073ad80) [size=(width=1280, height=720)] [format=SurfaceFormat::R8G8B8A8] [flags=]
ThebesLayerComposite (0xb087f000) [shadow-transform=[ 1 0; 0 1; 249 744; ]] [shadow-visible=< (x=0, y=-1, w=35, h=36); >] [transform=[ 1 0; 0 1; 249 744; ]] [visible=< (x=0, y=-1, w=35, h=36); >] [valid=< (x=-1, y=-1, w=64, h=36); >]
ContentHost (0xb0080c80) [buffer-rect=(x=-1, y=-1, w=64, h=36)] [buffer-rotation=(x=0, y=0)] [paint-will-resample]
GrallocTextureHostOGL (0xb0731c40) [size=(width=64, height=36)] [format=SurfaceFormat::B8G8R8A8] [flags=]
ContainerLayerComposite (0xb124f800) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 1 0; 0 1; -480 36; ]] [shadow-visible=< (x=0, y=0, w=480, h=818); >] [clip=(x=0, y=0, w=480, h=854)] [transform=[ 1 0; 0 1; -480 36; ]] [visible=< (x=0, y=0, w=480, h=818); >]
ContainerLayerComposite (0xb12ef800) [shadow-visible=< (x=0, y=0, w=480, h=818); >] [visible=< (x=0, y=0, w=480, h=818); >]
ThebesLayerComposite (0xb12efc00) [shadow-visible=< (x=0, y=0, w=480, h=818); >] [visible=< (x=0, y=0, w=480, h=818); >] [opaqueContent] [valid=< (x=0, y=0, w=480, h=818); >]
ContentHost (0xb0080dd0) [buffer-rect=(x=0, y=0, w=480, h=818)] [buffer-rotation=(x=0, y=0)] [paint-will-resample]
GrallocTextureHostOGL (0xb081b3d0) [size=(width=480, height=818)] [format=SurfaceFormat::B8G8R8X8] [flags=]
ContainerLayerComposite (0xb12f0800) [shadow-clip=(x=0, y=0, w=480, h=818)] [shadow-visible=< (x=0, y=0, w=480, h=818); >] [clip=(x=0, y=0, w=480, h=818)] [visible=< (x=0, y=0, w=480, h=818); >]
ThebesLayerComposite (0xb1b39800) [shadow-visible=< (x=0, y=0, w=480, h=818); >] [visible=< (x=0, y=0, w=480, h=818); >] [valid=< (x=0, y=0, w=480, h=818); >]
ContentHost (0xb00e1820) [buffer-rect=(x=0, y=0, w=480, h=818)] [buffer-rotation=(x=0, y=0)]
GrallocTextureHostOGL (0xb081b920) [size=(width=480, height=818)] [format=SurfaceFormat::B8G8R8A8] [flags=]
ContainerLayerComposite (0xb1b3c400) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 1 0; 0 1; -480 36; ]] [shadow-visible=< (x=0, y=0, w=480, h=818); >] [clip=(x=0, y=0, w=480, h=854)] [transform=[ 1 0; 0 1; -480 36; ]] [visible=< (x=0, y=0, w=480, h=818); >]
ContainerLayerComposite (0xb1c13400) [shadow-visible=< (x=0, y=0, w=480, h=818); >] [visible=< (x=0, y=0, w=480, h=818); >] [opaqueContent]
ThebesLayerComposite (0xb1c14000) [shadow-clip=(x=0, y=0, w=0, h=0)] [clip=(x=0, y=0, w=0, h=0)] [not visible]
ImageLayerComposite (0xb1c15c00) [shadow-clip=(x=0, y=0, w=480, h=818)] [shadow-visible=< (x=0, y=0, w=480, h=818); >] [clip=(x=0, y=0, w=480, h=818)] [visible=< (x=0, y=0, w=480, h=818); >] [opaqueContent]
ImageHost (0xb081b970) [picture-rect=(x=0, y=0, w=480, h=818)]
GrallocTextureHostOGL (0xb070e740) [size=(width=480, height=818)] [format=SurfaceFormat::B8G8R8A8] [flags=]
ContainerLayerComposite (0xb1c14400) [shadow-clip=(x=0, y=0, w=480, h=818)] [shadow-visible=< (x=0, y=0, w=480, h=818); >] [clip=(x=0, y=0, w=480, h=818)] [visible=< (x=0, y=0, w=480, h=818); >]
ThebesLayerComposite (0xb1c14800) [shadow-visible=< (x=0, y=0, w=480, h=818); >] [visible=< (x=0, y=0, w=480, h=818); >] [valid=< (x=0, y=0, w=480, h=818); >]
ContentHost (0xb007fa90) [buffer-rect=(x=0, y=0, w=480, h=818)] [buffer-rotation=(x=0, y=0)]
GrallocTextureHostOGL (0xb081b9c0) [size=(width=480, height=818)] [format=SurfaceFormat::B8G8R8A8] [flags=]
Assignee | ||
Comment 4•11 years ago
|
||
Above log and layer tree was captured in FxOS 2.0, with tiling disabled in Setting. There is always a CanvasLayer in layer tree which make PrepareLayerTree returns false:
06-04 23:22:03.460 I/Gecko ( 988): solomon: CanvasLayerComposite (0xb0879400) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 1 0; 0 1; 0 718.75; ]] [shadow-visible=< (x=0, y=0, w=480, h=120); >] [clip=(x=0, y=0, w=480, h=854)] [transform=[ 1 0; 0 1; 0 718.75; ]] [visible=< (x=0, y=0, w=480, h=120); >]
06-04 23:22:03.460 I/Gecko ( 988): ImageHost (0xb081b1a0) [picture-rect=(x=0, y=0, w=0, h=0)]
06-04 23:22:03.460 I/Gecko ( 988): MemoryTextureHost (0xb081b1f0) [size=(width=0, height=0)] [format=SurfaceFormat::B8G8R8A8] [flags=]
Comment 5•11 years ago
|
||
(In reply to Solomon Chiu [:schiu] from comment #4)
> Above log and layer tree was captured in FxOS 2.0, with tiling disabled in
> Setting. There is always a CanvasLayer in layer tree which make
> PrepareLayerTree returns false:
>
> 06-04 23:22:03.460 I/Gecko ( 988): solomon: CanvasLayerComposite
> (0xb0879400) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 1 0;
> 0 1; 0 718.75; ]] [shadow-visible=< (x=0, y=0, w=480, h=120); >] [clip=(x=0,
> y=0, w=480, h=854)] [transform=[ 1 0; 0 1; 0 718.75; ]] [visible=< (x=0,
> y=0, w=480, h=120); >]
> 06-04 23:22:03.460 I/Gecko ( 988): ImageHost (0xb081b1a0)
> [picture-rect=(x=0, y=0, w=0, h=0)]
> 06-04 23:22:03.460 I/Gecko ( 988): MemoryTextureHost (0xb081b1f0)
> [size=(width=0, height=0)] [format=SurfaceFormat::B8G8R8A8] [flags=]
There are two strange things.
a. ImageHost with zero size
b. so many ContainerLayerComposite
Comment hidden (obsolete) |
Comment 7•11 years ago
|
||
Scratch my previous comment, bug 983971 restricted that limitation on gralloc'ing small textures to devices with ANDROID_VERSION <= 15 which the Flame isn't so the issue here must be different.
Comment 8•11 years ago
|
||
(In reply to peter chang[:pchang][:peter] from comment #5)
> (In reply to Solomon Chiu [:schiu] from comment #4)
> > Above log and layer tree was captured in FxOS 2.0, with tiling disabled in
> > Setting. There is always a CanvasLayer in layer tree which make
> > PrepareLayerTree returns false:
> >
> > 06-04 23:22:03.460 I/Gecko ( 988): solomon: CanvasLayerComposite
> > (0xb0879400) [shadow-clip=(x=0, y=0, w=480, h=854)] [shadow-transform=[ 1 0;
> > 0 1; 0 718.75; ]] [shadow-visible=< (x=0, y=0, w=480, h=120); >] [clip=(x=0,
> > y=0, w=480, h=854)] [transform=[ 1 0; 0 1; 0 718.75; ]] [visible=< (x=0,
> > y=0, w=480, h=120); >]
> > 06-04 23:22:03.460 I/Gecko ( 988): ImageHost (0xb081b1a0)
> > [picture-rect=(x=0, y=0, w=0, h=0)]
> > 06-04 23:22:03.460 I/Gecko ( 988): MemoryTextureHost (0xb081b1f0)
> > [size=(width=0, height=0)] [format=SurfaceFormat::B8G8R8A8] [flags=]
>
> There are two strange things.
> a. ImageHost with zero size
> b. so many ContainerLayerComposite
Solomon, I didn't see the CanvasLayerComposite in my flame during video app. Do you use the m-c build?
Flags: needinfo?(schiu)
Assignee | ||
Comment 9•11 years ago
|
||
Just checked again, the canvas layer mentioned above has disappeared. And Video player also no longer uses tiling. The playback can use full HWC now. So I close this bug.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
Assignee | ||
Updated•11 years ago
|
Flags: needinfo?(schiu)
You need to log in
before you can comment on or make changes to this bug.
Description
•