Closed Bug 839808 (basic-metro-omtc) Opened 12 years ago Closed 12 years ago

Get basic omtc support running in metro

Categories

(Core :: Graphics: Layers, defect)

x86_64
Windows 8.1
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla22

People

(Reporter: jimm, Assigned: jimm)

References

Details

Attachments

(1 file, 4 obsolete files)

Using the current graphics branch.
Attached patch basics (obsolete) — Splinter Review
Here's a basic patch that gets omtc running under metrofx. Unfortunately the initial perf results are a bit of a downer. Using peacekeeper, I get the following numbers: 1427 - 6/7 - rel, non-pgo, omtc 1650 - 6/7 - rel, non-pgo, non-omtc 1772 - 6/7 - nightly
Alias: basic-metro-omtc
Attached patch patch v.1 (obsolete) — Splinter Review
Lets get this landed so we can switch this on by simply changing a pref. Note this only works on the gfx branch at this point.
Assignee: nobody → jmathies
Attachment #720031 - Attachment is obsolete: true
Attachment #720618 - Flags: review?(netzen)
Comment on attachment 720618 [details] [diff] [review] patch v.1 I need to get this over on mc first and test. The layers changes aren't going to work there.
Attachment #720618 - Flags: review?(netzen) → review-
Attached patch patch v.2 (obsolete) — Splinter Review
Attachment #720618 - Attachment is obsolete: true
Attachment #720629 - Flags: review?(netzen)
Attached patch patch v.3 (obsolete) — Splinter Review
Sorry for the bugspam. I've changed the layer selection helpers around a bit. D3D should only be selected for a top level window.
Attachment #720629 - Attachment is obsolete: true
Attachment #720629 - Flags: review?(netzen)
Attachment #720632 - Flags: review?(netzen)
Attachment #720632 - Attachment is patch: true
Comment on attachment 720632 [details] [diff] [review] patch v.3 Review of attachment 720632 [details] [diff] [review]: ----------------------------------------------------------------- ::: widget/windows/winrt/MetroWidget.cpp @@ +828,5 @@ > + if (layerManager->Initialize(true)) { > + mLayerManager = layerManager; > + } > + } else if (UseBasicManager()) { > + mLayerManager = CreateBasicLayerManager(); do we need to call Initialize here? @@ +835,5 @@ > + // Either we're not ready to initialize yet due to a missing view pointer, > + // or something has gone wrong. > + if (!mLayerManager) { > + if (!mView) { > + mLayerManager = new BasicShadowLayerManager(this); nit: Maybe NS_WARNING here. Do we need to call Initialize here ::: widget/windows/winrt/MetroWidget.h @@ +115,5 @@ > virtual bool IsEnabled() const; > + // UseOffMainThreadCompositing is defined in base widget > + virtual bool UseOffMainThreadCompositing(); > + bool UseMainThreadD3D10Manager(); > + bool UseBasicManager(); nit: I would prefer these to be prefixed with "ShouldUse" or just "Is", they just sound like setters the way it is.
Attachment #720632 - Flags: review?(netzen) → review+
> ::: widget/windows/winrt/MetroWidget.cpp > @@ +828,5 @@ > > + if (layerManager->Initialize(true)) { > > + mLayerManager = layerManager; > > + } > > + } else if (UseBasicManager()) { > > + mLayerManager = CreateBasicLayerManager(); > > do we need to call Initialize here? apparently not. basic manager can't fail where as the d3d one can. > @@ +835,5 @@ > > + // Either we're not ready to initialize yet due to a missing view pointer, > > + // or something has gone wrong. > > + if (!mLayerManager) { > > + if (!mView) { > > + mLayerManager = new BasicShadowLayerManager(this); > > nit: Maybe NS_WARNING here. will do. > @@ +115,5 @@ > > virtual bool IsEnabled() const; > > + // UseOffMainThreadCompositing is defined in base widget > > + virtual bool UseOffMainThreadCompositing(); > > + bool UseMainThreadD3D10Manager(); > > + bool UseBasicManager(); > > nit: I would prefer these to be prefixed with "ShouldUse" or just "Is", they > just sound like setters the way it is. ok, sounds good.
Attached patch patch v.4Splinter Review
Added changes applied to all platforms so reseeking r?. https://tbpl.mozilla.org/?tree=Try&rev=2a51048efe72
Attachment #720632 - Attachment is obsolete: true
Attachment #720688 - Flags: review?(netzen)
Attachment #720688 - Flags: review?(netzen) → review+
Comment on attachment 720688 [details] [diff] [review] patch v.4 Bas, would it be alright for me to land this on graphics?
Attachment #720688 - Flags: review?(bas)
Comment on attachment 720688 [details] [diff] [review] patch v.4 actually, the two repos are out of sync. I can't. I guess I'll just wait for the next merge.
Attachment #720688 - Flags: review?(bas)
One additional note, to get this building on gfx you need to add: #ifdef MOZ_METRO #include "DXGI1_2.h" #endif to gfx/layers/d3d11/CompositorD3D11.cpp
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla22
Depends on: 848913
Blocks: 844361
No longer depends on: 848913
No longer blocks: 844361
OS: Windows 8 Metro → Windows 8.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: