Closed Bug 752640 Opened 12 years ago Closed 12 years ago

Allow PCompositor to work with Basic Layers backend

Categories

(Core :: Graphics: Layers, defect)

All
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla15

People

(Reporter: romaxa, Assigned: romaxa)

Details

Attachments

(1 file)

Make compositor Parent deal with LAYERS_BASIC backend
Tested with OMTC embedding widget and it seems to work fine.
OMTC embedding has target surface and PCompositorParent working in the same threads, so for other threading model probably additional thread safety code required.
Assignee: nobody → romaxa
Status: NEW → ASSIGNED
Attachment #621694 - Flags: review?(ajuma)
(In reply to Oleg Romashin (:romaxa) from comment #0)
> OMTC embedding has target surface and PCompositorParent working in the same
> threads, so for other threading model probably additional thread safety code
> required.

As I understand it, the thread safety issue comes from using Cairo on both the shadowable side and the shadow side, which would be the case whenever we're doing OMTC with BasicLayers.

I'm fine with taking this patch though, since it lets us starting experimenting with BasicLayers OMTC (which might help us decide whether we want to invest more time in it).
Comment on attachment 621694 [details] [diff] [review]
Make PCompositorParent work with BASIC_LAYERS manager

Review of attachment 621694 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/ipc/CompositorParent.cpp
@@ +501,5 @@
>      if (!slm) {
>        return NULL;
>      }
>      return new ShadowLayersParent(slm, this);
> +  } else if (backendType == LayerManager::LAYERS_BASIC) {

Add a comment here that using this means using Cairo on two threads, so in order to ship this we need to build Cairo thread-safe (which might cause performance regressions).
Attachment #621694 - Flags: review?(ajuma) → review+
The other alternative would be a new basic backend that doesn't use cairo (uses pixman directly maybe?). Not sure if that's a good idea or not.
https://hg.mozilla.org/mozilla-central/rev/e9e72f732d8b
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: