Closed
Bug 942358
Opened 11 years ago
Closed 11 years ago
Support MacIOSurface textures in the basic compositor
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla28
Tracking | Status | |
---|---|---|
firefox28 | --- | fixed |
People
(Reporter: dvander, Assigned: dvander)
References
Details
(Whiteboard: [qa-])
Attachments
(1 file, 2 obsolete files)
14.32 KB,
patch
|
mattwoodrow
:
review+
|
Details | Diff | Splinter Review |
Plugin tests on Mac are failing with the basic compositor since there is no non-OGL MacIOSurfaceTextureHost.
Assignee | ||
Comment 1•11 years ago
|
||
With this patch I can visit youtube and watch stuff with Basic OMTC (non-e10s). I have no idea if it's the right approach though.
Assignee: nobody → dvander
Attachment #8337115 -
Flags: review?(matt.woodrow)
Assignee | ||
Comment 2•11 years ago
|
||
w/ missing file added
Attachment #8337115 -
Attachment is obsolete: true
Attachment #8337115 -
Flags: review?(matt.woodrow)
Attachment #8337116 -
Flags: review?(matt.woodrow)
Comment 3•11 years ago
|
||
Comment on attachment 8337116 [details] [diff] [review]
macsurface.patch
Review of attachment 8337116 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/basic/MacIOSurfaceTextureHostBasic.cpp
@@ +71,5 @@
> +
> +void
> +MacIOSurfaceTextureHostBasic::SetCompositor(Compositor* aCompositor)
> +{
> + BasicCompositor* glCompositor = static_cast<BasicCompositor*>(aCompositor);
'glCompositor' is a poor name. And obviously stolen.
::: gfx/layers/composite/TextureHost.cpp
@@ +144,5 @@
> + aDesc.get_SurfaceDescriptorMacIOSurface();
> + result = new MacIOSurfaceTextureHostBasic(aID, aFlags, desc);
> + break;
> + }
> +#endif
These changes aren't backend independent, so don't really fit here.
Create a 'CreateTextureHostBasic' function (similar to CreateTextureHostOGL) in BasicCompositor.cpp, and have it handle this surface descriptor type. Then fallback to this function for other surface descriptor types.
Attachment #8337116 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 4•11 years ago
|
||
Attachment #8337116 -
Attachment is obsolete: true
Attachment #8338071 -
Flags: review?(matt.woodrow)
Comment 5•11 years ago
|
||
Comment on attachment 8338071 [details] [diff] [review]
v2
Review of attachment 8338071 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/layers/basic/TextureHostBasic.cpp
@@ +22,5 @@
> +#ifdef XP_MACOSX
> + case SurfaceDescriptor::TSurfaceDescriptorMacIOSurface: {
> + const SurfaceDescriptorMacIOSurface& desc =
> + aDesc.get_SurfaceDescriptorMacIOSurface();
> + result = new MacIOSurfaceTextureHostBasic(aID, aFlags, desc);
What includes MacIOSurfaceTextureHostBasic.h for this to compile?
::: gfx/layers/basic/TextureHostBasic.h
@@ +16,5 @@
> +#include "mozilla/layers/CompositorTypes.h" // for TextureFlags
> +#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
> +#include "mozilla/layers/TextureHost.h" // for DeprecatedTextureHost, etc
> +#include "mozilla/mozalloc.h" // for operator delete, etc
> +#include "mozilla/gfx/2D.h"
Do we really need all these includes?
Attachment #8338071 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 6•11 years ago
|
||
(In reply to Matt Woodrow (:mattwoodrow) from comment #5)
> ::: gfx/layers/basic/TextureHostBasic.h
> @@ +16,5 @@
> > +#include "mozilla/layers/CompositorTypes.h" // for TextureFlags
> > +#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor
> > +#include "mozilla/layers/TextureHost.h" // for DeprecatedTextureHost, etc
> > +#include "mozilla/mozalloc.h" // for operator delete, etc
> > +#include "mozilla/gfx/2D.h"
>
> Do we really need all these includes?
Computer says no.
https://hg.mozilla.org/integration/mozilla-inbound/rev/72698dcafb4b
Comment 7•11 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
You need to log in
before you can comment on or make changes to this bug.
Description
•