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)
Tracking
()
RESOLVED
FIXED
mozilla22
People
(Reporter: jimm, Assigned: jimm)
References
Details
Attachments
(1 file, 4 obsolete files)
24.60 KB,
patch
|
bbondy
:
review+
|
Details | Diff | Splinter Review |
Using the current graphics branch.
Assignee | ||
Comment 1•12 years ago
|
||
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
Assignee | ||
Updated•12 years ago
|
Alias: basic-metro-omtc
Assignee | ||
Comment 2•12 years ago
|
||
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)
Assignee | ||
Comment 3•12 years ago
|
||
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-
Assignee | ||
Comment 4•12 years ago
|
||
Attachment #720618 -
Attachment is obsolete: true
Attachment #720629 -
Flags: review?(netzen)
Assignee | ||
Comment 5•12 years ago
|
||
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)
Assignee | ||
Updated•12 years ago
|
Attachment #720632 -
Attachment is patch: true
Comment 6•12 years ago
|
||
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+
Assignee | ||
Comment 7•12 years ago
|
||
> ::: 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.
Assignee | ||
Comment 8•12 years ago
|
||
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)
Updated•12 years ago
|
Attachment #720688 -
Flags: review?(netzen) → review+
Assignee | ||
Comment 9•12 years ago
|
||
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)
Assignee | ||
Comment 10•12 years ago
|
||
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)
Assignee | ||
Comment 11•12 years ago
|
||
Assignee | ||
Comment 12•12 years ago
|
||
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
Comment 13•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla22
Updated•10 years ago
|
OS: Windows 8 Metro → Windows 8.1
You need to log in
before you can comment on or make changes to this bug.
Description
•