b=979489; Implement SimpleTiledContentClient and friends; r=jrmuizel

This commit is contained in:
Vladimir Vukicevic
2014-03-10 14:34:57 -04:00
parent ff6d571608
commit d54d1133ca
20 changed files with 1069 additions and 22 deletions

View File

@@ -21,6 +21,7 @@
#include "mozilla/layers/PLayerChild.h" // for PLayerChild
#include "mozilla/layers/LayerTransactionChild.h"
#include "mozilla/layers/TextureClientPool.h" // for TextureClientPool
#include "mozilla/layers/SimpleTextureClientPool.h" // for SimpleTextureClientPool
#include "nsAString.h"
#include "nsIWidget.h" // for nsIWidget
#include "nsTArray.h" // for AutoInfallibleTArray
@@ -474,6 +475,21 @@ ClientLayerManager::GetTexturePool(SurfaceFormat aFormat)
return texturePoolMember->mTexturePool;
}
SimpleTextureClientPool*
ClientLayerManager::GetSimpleTileTexturePool(SurfaceFormat aFormat)
{
int index = (int) aFormat;
mSimpleTilePools.EnsureLengthAtLeast(index+1);
if (mSimpleTilePools[index].get() == nullptr) {
mSimpleTilePools[index] = new SimpleTextureClientPool(aFormat, IntSize(TILEDLAYERBUFFER_TILE_SIZE,
TILEDLAYERBUFFER_TILE_SIZE),
mForwarder);
}
return mSimpleTilePools[index];
}
void
ClientLayerManager::ClearCachedResources(Layer* aSubtree)
{