Closed
Bug 810361
Opened 13 years ago
Closed 13 years ago
Handle ColorLayers with hardware composer
Categories
(Firefox OS Graveyard :: General, defect)
Tracking
(blocking-basecamp:+, firefox19 wontfix, firefox20 wontfix, firefox21 fixed, b2g18 fixed)
People
(Reporter: diego, Assigned: diego)
Details
Attachments
(4 files, 1 obsolete file)
|
6.13 KB,
patch
|
cjones
:
feedback+
|
Details | Diff | Splinter Review |
|
6.43 KB,
patch
|
cjones
:
feedback+
|
Details | Diff | Splinter Review |
|
5.27 KB,
patch
|
cjones
:
review+
|
Details | Diff | Splinter Review |
|
7.43 KB,
patch
|
cjones
:
review+
|
Details | Diff | Splinter Review |
No description provided.
| Assignee | ||
Updated•13 years ago
|
Group: qualcomm-confidential
| Assignee | ||
Comment 1•13 years ago
|
||
Attachment #690213 -
Flags: review?(jones.chris.g)
| Assignee | ||
Comment 2•13 years ago
|
||
Attachment #690214 -
Flags: review?(jones.chris.g)
| Assignee | ||
Comment 3•13 years ago
|
||
Attachment #690215 -
Flags: review?(jones.chris.g)
| Assignee | ||
Updated•13 years ago
|
Attachment #690214 -
Attachment is patch: true
| Assignee | ||
Comment 4•13 years ago
|
||
All patches attached are already provided through CAF
https://www.codeaurora.org/gitweb/quic/b2g/?p=build.git;a=commit;h=fe5f26354a965d25188a0756b99120ba83f09093
Comment on attachment 690213 [details] [diff] [review]
Handle ColorLayers with HwcComposer2D
>diff --git a/widget/gonk/HwcComposer2D.cpp b/widget/gonk/HwcComposer2D.cpp
>+// HWC layer flags
>+enum {
>+ HWC_COLOR_FILL = 0x8 // RGBA color-fill using copybit
>+};
We also need a new propdb value like ro.moz.hwc.have_color_layers=true
that we can use for runtime feature detection.
>@@ -319,43 +334,42 @@ HwcComposer2D::PrepareLayerList(Layer* aLayer,
> return true;
> }
>
>- buffer_handle_t handle = buffer->getNativeBuffer()->handle;
>+ buffer_handle_t handle = fillColor ? NULL : buffer->getNativeBuffer()->handle;
Nit: s/NULL/nullptr.
>+ } else {
>+ hwcLayer.flags |= HWC_COLOR_FILL;
>+ ColorLayer* colorLayer = static_cast<ColorLayer*>(layerGL->GetLayer());
>+ hwcLayer.transform = colorLayer->GetColor().Packed();
Cute hack :). Please document this above where we define the
COLOR_FILL flag.
r=me with that
Attachment #690213 -
Flags: review?(jones.chris.g) → review+
Comment on attachment 690214 [details] [diff] [review]
Enhance display libs to support colorlayers
Looks good to me but this code is a bit out of my front yard :).
Attachment #690214 -
Flags: review?(jones.chris.g) → feedback+
Comment on attachment 690215 [details] [diff] [review]
Enhance kernel display driver to support ColorLayers
A bit further still outside my front yard, but again looks ok to me.
/me jealous he doesn't get to hack kernel anymore ;)
Attachment #690215 -
Flags: review?(jones.chris.g) → feedback+
| Assignee | ||
Comment 8•13 years ago
|
||
(In reply to Chris Jones [:cjones] [:warhammer] from comment #5)
> Comment on attachment 690213 [details] [diff] [review]
> Handle ColorLayers with HwcComposer2D
>
> >diff --git a/widget/gonk/HwcComposer2D.cpp b/widget/gonk/HwcComposer2D.cpp
>
> >+// HWC layer flags
> >+enum {
> >+ HWC_COLOR_FILL = 0x8 // RGBA color-fill using copybit
> >+};
>
> We also need a new propdb value like ro.moz.hwc.have_color_layers=true
> that we can use for runtime feature detection.
Agreed. Working on it
>
> >@@ -319,43 +334,42 @@ HwcComposer2D::PrepareLayerList(Layer* aLayer,
> > return true;
> > }
> >
> >- buffer_handle_t handle = buffer->getNativeBuffer()->handle;
> >+ buffer_handle_t handle = fillColor ? NULL : buffer->getNativeBuffer()->handle;
>
> Nit: s/NULL/nullptr.
>
> >+ } else {
> >+ hwcLayer.flags |= HWC_COLOR_FILL;
> >+ ColorLayer* colorLayer = static_cast<ColorLayer*>(layerGL->GetLayer());
> >+ hwcLayer.transform = colorLayer->GetColor().Packed();
>
> Cute hack :). Please document this above where we define the
> COLOR_FILL flag.
>
> r=me with that
I'll share an updated patch ASAP
| Assignee | ||
Comment 9•13 years ago
|
||
Addresses all review comments on the previous patch
Attachment #690213 -
Attachment is obsolete: true
Attachment #694884 -
Flags: review?(jones.chris.g)
Updated•13 years ago
|
Attachment #694884 -
Flags: review?(jones.chris.g) → review+
| Assignee | ||
Updated•13 years ago
|
blocking-basecamp: --- → ?
Comment 10•13 years ago
|
||
Do we need to block on this or could we just uplift it? What happens if we don't take it?
Assignee: nobody → dwilson
Flags: needinfo?(dwilson)
Comment 11•13 years ago
|
||
We've landed this patch on CAF already. So the goal of this bug is to get this patch landed in Gecko proper so that we don't essentially have a minor Gecko fork for v1 commercial. I'm neutral on this, don't like the fork but it's not the end of the world either IMO.
Flags: needinfo?(dwilson)
Comment 12•13 years ago
|
||
(In reply to Michael Vines [:m1] from comment #11)
> We've landed this patch on CAF already.
That sounds like it's important enough to block on.
blocking-basecamp: ? → +
Keywords: checkin-needed
Can we directly land the patch here or has the caf version accreted some differences?
Flags: needinfo?(dwilson)
| Assignee | ||
Comment 14•13 years ago
|
||
(In reply to Chris Jones [:cjones] [:warhammer] from comment #13)
> Can we directly land the patch here or has the caf version accreted some
> differences?
The r+'ed patch in this bug is the latest and greatest. If you can help me land it that'd be great
Flags: needinfo?(dwilson)
Will land tomorrow.
Attachment #699549 -
Flags: review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/632213b8cbc6
https://hg.mozilla.org/releases/mozilla-b2g18/rev/07574bef1b04
Status: NEW → RESOLVED
Closed: 13 years ago
status-b2g18:
--- → fixed
status-firefox19:
--- → wontfix
status-firefox20:
--- → wontfix
Resolution: --- → FIXED
This appears to have turned the Windows B2G build red:
https://tbpl.mozilla.org/?tree=Mozilla-B2g18&jobname=b2g_mozilla-b2g18_win32_gecko%20build
Er, that's probably a change in another repo (ugh!) that happened to occur at the same time.
Updated•13 years ago
|
Comment 20•13 years ago
|
||
You need to log in
before you can comment on or make changes to this bug.
Description
•