mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 22:05:44 +00:00
Bug 570625, part 3: Add a SurfaceDescriptor IPDL union over all surfaces share-able to another process. r=roc sr=shaver
This commit is contained in:
parent
413f96b038
commit
f7bf383e15
@ -52,6 +52,7 @@ using nsIntRegion;
|
||||
using nsIntSize;
|
||||
using mozilla::GraphicsFilterType;
|
||||
using mozilla::layers::FrameMetrics;
|
||||
using mozilla::layers::SurfaceDescriptorX11;
|
||||
using mozilla::null_t;
|
||||
|
||||
/**
|
||||
@ -75,10 +76,16 @@ struct OpCreateCanvasLayer { PLayer layer; };
|
||||
// For the "buffer creation" operations, we send an initial front
|
||||
// buffer that only contains (transparent) black pixels just so that
|
||||
// we can swap it back after the first OpPaint without a special case.
|
||||
|
||||
union SurfaceDescriptor {
|
||||
Shmem;
|
||||
SurfaceDescriptorX11;
|
||||
};
|
||||
|
||||
struct OpCreateThebesBuffer {
|
||||
PLayer layer;
|
||||
nsIntRect bufferRect;
|
||||
Shmem initialFront;
|
||||
SurfaceDescriptor initialFront;
|
||||
};
|
||||
struct OpDestroyThebesFrontBuffer { PLayer layer; };
|
||||
|
||||
@ -146,7 +153,7 @@ struct OpRemoveChild { PLayer container; PLayer childLayer; };
|
||||
|
||||
// Paint (buffer update)
|
||||
struct ThebesBuffer {
|
||||
Shmem buffer;
|
||||
SurfaceDescriptor buffer;
|
||||
nsIntRect rect;
|
||||
nsIntPoint rotation;
|
||||
};
|
||||
@ -195,7 +202,7 @@ union Edit {
|
||||
|
||||
|
||||
// Replies to operations
|
||||
struct OpBufferSwap { PLayer layer; Shmem newBackBuffer; };
|
||||
struct OpBufferSwap { PLayer layer; SurfaceDescriptor newBackBuffer; };
|
||||
|
||||
/*
|
||||
* XXX: if we choose *not* to do a new-front-to-new-back fill in the
|
||||
|
Loading…
Reference in New Issue
Block a user