Bug 1147894 - Only use non-null compositors with TextureHost::SetCompositor. r=sotaro

This commit is contained in:
Nicolas Silva 2015-03-27 11:16:18 +01:00
Родитель 7ad91f675c
Коммит da6cace77d
9 изменённых файлов: 23 добавлений и 4 удалений

Просмотреть файл

@ -66,7 +66,7 @@ CanvasLayerComposite::SetLayerManager(LayerManagerComposite* aManager)
{
LayerComposite::SetLayerManager(aManager);
mManager = aManager;
if (mImageHost) {
if (mImageHost && mCompositor) {
mImageHost->SetCompositor(mCompositor);
}
}

Просмотреть файл

@ -119,8 +119,10 @@ CompositableHost::UseComponentAlphaTextures(TextureHost* aTextureOnBlack,
TextureHost* aTextureOnWhite)
{
MOZ_ASSERT(aTextureOnBlack && aTextureOnWhite);
aTextureOnBlack->SetCompositor(GetCompositor());
aTextureOnWhite->SetCompositor(GetCompositor());
if (GetCompositor()) {
aTextureOnBlack->SetCompositor(GetCompositor());
aTextureOnWhite->SetCompositor(GetCompositor());
}
}
void
@ -130,6 +132,7 @@ CompositableHost::RemoveTextureHost(TextureHost* aTexture)
void
CompositableHost::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = aCompositor;
}

Просмотреть файл

@ -89,7 +89,7 @@ PaintedLayerComposite::SetLayerManager(LayerManagerComposite* aManager)
{
LayerComposite::SetLayerManager(aManager);
mManager = aManager;
if (mBuffer) {
if (mBuffer && mCompositor) {
mBuffer->SetCompositor(mCompositor);
}
}

Просмотреть файл

@ -409,6 +409,7 @@ BufferTextureHost::Updated(const nsIntRegion* aRegion)
void
BufferTextureHost::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
if (mCompositor == aCompositor) {
return;
}

Просмотреть файл

@ -212,6 +212,7 @@ TiledLayerBufferComposite::ValidateTile(TileHost aTile,
void
TiledLayerBufferComposite::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
if (!IsValid()) {
return;
}
@ -391,6 +392,7 @@ TiledContentHost::Composite(EffectChain& aEffectChain,
const gfx::Rect& aClipRect,
const nsIntRegion* aVisibleRegion /* = nullptr */)
{
MOZ_ASSERT(mCompositor);
if (mPendingUpload) {
mTiledBuffer.SetCompositor(mCompositor);
mTiledBuffer.Upload();

Просмотреть файл

@ -605,6 +605,7 @@ DXGITextureHostD3D11::GetDevice()
void
DXGITextureHostD3D11::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = static_cast<CompositorD3D11*>(aCompositor);
}
@ -699,6 +700,7 @@ DXGIYCbCrTextureHostD3D11::GetDevice()
void
DXGIYCbCrTextureHostD3D11::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = static_cast<CompositorD3D11*>(aCompositor);
}
@ -886,6 +888,7 @@ DataTextureSourceD3D11::GetTileRect()
void
DataTextureSourceD3D11::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
CompositorD3D11* d3dCompositor = static_cast<CompositorD3D11*>(aCompositor);
if (mCompositor && mCompositor != d3dCompositor) {
Reset();

Просмотреть файл

@ -517,6 +517,7 @@ DataTextureSourceD3D9::Update(gfxWindowsSurface* aSurface)
void
DataTextureSourceD3D9::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
CompositorD3D9* d3dCompositor = static_cast<CompositorD3D9*>(aCompositor);
if (mCompositor && mCompositor != d3dCompositor) {
Reset();
@ -1027,6 +1028,7 @@ DXGITextureHostD3D9::Unlock()
void
DXGITextureHostD3D9::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = static_cast<CompositorD3D9*>(aCompositor);
}
@ -1058,6 +1060,7 @@ DXGIYCbCrTextureHostD3D9::GetDevice()
void
DXGIYCbCrTextureHostD3D9::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = static_cast<CompositorD3D9*>(aCompositor);
}

Просмотреть файл

@ -127,6 +127,7 @@ GrallocTextureHostOGL::~GrallocTextureHostOGL()
void
GrallocTextureHostOGL::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = static_cast<CompositorOGL*>(aCompositor);
if (mGLTextureSource) {
mGLTextureSource->SetCompositor(mCompositor);

Просмотреть файл

@ -309,6 +309,7 @@ TextureImageTextureSourceOGL::CopyTo(const nsIntRect& aSourceRect,
void
TextureImageTextureSourceOGL::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
CompositorOGL* glCompositor = static_cast<CompositorOGL*>(aCompositor);
if (!glCompositor || (mCompositor != glCompositor)) {
@ -414,6 +415,7 @@ GLTextureSource::BindTexture(GLenum aTextureUnit, gfx::Filter aFilter)
void
GLTextureSource::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = static_cast<CompositorOGL*>(aCompositor);
}
@ -472,6 +474,7 @@ SurfaceTextureSource::BindTexture(GLenum aTextureUnit, gfx::Filter aFilter)
void
SurfaceTextureSource::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
if (mCompositor != aCompositor) {
DeallocateDeviceData();
}
@ -553,6 +556,7 @@ SurfaceTextureHost::Unlock()
void
SurfaceTextureHost::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
CompositorOGL* glCompositor = static_cast<CompositorOGL*>(aCompositor);
mCompositor = glCompositor;
if (mTextureSource) {
@ -613,6 +617,7 @@ EGLImageTextureSource::BindTexture(GLenum aTextureUnit, gfx::Filter aFilter)
void
EGLImageTextureSource::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
mCompositor = static_cast<CompositorOGL*>(aCompositor);
}
@ -694,6 +699,7 @@ EGLImageTextureHost::Unlock()
void
EGLImageTextureHost::SetCompositor(Compositor* aCompositor)
{
MOZ_ASSERT(aCompositor);
CompositorOGL* glCompositor = static_cast<CompositorOGL*>(aCompositor);
mCompositor = glCompositor;
if (mTextureSource) {