Bug 620665 - Part 2: Use fallback when ImageContainer's backend type doesn't match. r=roc a=blocking-beta9

This commit is contained in:
Bas Schouten 2010-12-29 01:07:04 +00:00
Родитель 4bb2625477
Коммит 59e9bd71ff
2 изменённых файлов: 7 добавлений и 2 удалений

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

@ -212,13 +212,16 @@ ImageLayerD3D10::RenderLayer()
}
if (GetContainer()->Manager() != Manager() ||
GetContainer()->GetBackendType() != LayerManager::LAYERS_D3D10 ||
image->GetFormat() == Image::CAIRO_SURFACE)
{
gfxIntSize size;
bool hasAlpha;
nsRefPtr<ID3D10ShaderResourceView> srView;
if (GetContainer()->Manager() != Manager()) {
if (GetContainer()->Manager() != Manager() ||
GetContainer()->GetBackendType() != LayerManager::LAYERS_D3D10)
{
nsRefPtr<gfxASurface> surf = GetContainer()->GetCurrentAsSurface(&size);
nsRefPtr<ID3D10Texture2D> texture = SurfaceToTexture(device(), surf, size);

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

@ -246,7 +246,9 @@ ImageLayerD3D9::RenderLayer()
SetShaderTransformAndOpacity();
if (Manager() != GetContainer()->Manager()) {
if (Manager() != GetContainer()->Manager() ||
GetContainer()->GetBackendType() != LayerManager::LAYERS_D3D9)
{
gfxIntSize size;
nsRefPtr<gfxASurface> surface =
GetContainer()->GetCurrentAsSurface(&size);