mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1180326 - Part 2: Add support for variable tile sizes. r=jrmuizel
This commit is contained in:
parent
52db4db003
commit
cd3cc3e99f
@ -150,7 +150,7 @@ public:
|
||||
gfx::IntPoint GetTileOffset(TileIntPoint aPosition) const {
|
||||
gfx::IntSize scaledTileSize = GetScaledTileSize();
|
||||
return gfx::IntPoint(aPosition.x * scaledTileSize.width,
|
||||
aPosition.y * scaledTileSize.height);
|
||||
aPosition.y * scaledTileSize.height) + mTileOrigin;
|
||||
}
|
||||
|
||||
const TilesPlacement& GetPlacement() const { return mTiles; }
|
||||
@ -194,6 +194,7 @@ protected:
|
||||
TilesPlacement mTiles;
|
||||
float mResolution;
|
||||
gfx::IntSize mTileSize;
|
||||
gfx::IntPoint mTileOrigin;
|
||||
};
|
||||
|
||||
template<typename Derived, typename Tile> void
|
||||
|
@ -868,6 +868,7 @@ ClientMultiTiledLayerBuffer::GetSurfaceDescriptorTiles()
|
||||
}
|
||||
return SurfaceDescriptorTiles(mValidRegion,
|
||||
tiles,
|
||||
mTileOrigin, mTileSize,
|
||||
mTiles.mFirst.x, mTiles.mFirst.y,
|
||||
mTiles.mSize.width, mTiles.mSize.height,
|
||||
mResolution, mFrameResolution.xScale,
|
||||
|
@ -242,7 +242,8 @@ TiledLayerBufferComposite::UseTiles(const SurfaceDescriptorTiles& aTiles,
|
||||
Compositor* aCompositor,
|
||||
ISurfaceAllocator* aAllocator)
|
||||
{
|
||||
if (mResolution != aTiles.resolution()) {
|
||||
if (mResolution != aTiles.resolution() ||
|
||||
aTiles.tileSize() != mTileSize) {
|
||||
Clear();
|
||||
}
|
||||
MOZ_ASSERT(aAllocator);
|
||||
@ -352,6 +353,8 @@ TiledLayerBufferComposite::UseTiles(const SurfaceDescriptorTiles& aTiles,
|
||||
}
|
||||
|
||||
mTiles = newTiles;
|
||||
mTileSize = aTiles.tileSize();
|
||||
mTileOrigin = aTiles.tileOrigin();
|
||||
mValidRegion = aTiles.validRegion();
|
||||
mResolution = aTiles.resolution();
|
||||
mFrameResolution = CSSToParentLayerScale2D(aTiles.frameXResolution(),
|
||||
|
@ -333,6 +333,8 @@ union TileDescriptor {
|
||||
struct SurfaceDescriptorTiles {
|
||||
nsIntRegion validRegion;
|
||||
TileDescriptor[] tiles;
|
||||
IntPoint tileOrigin;
|
||||
IntSize tileSize;
|
||||
int firstTileX;
|
||||
int firstTileY;
|
||||
int retainedWidth;
|
||||
|
Loading…
Reference in New Issue
Block a user