Bug 1363675 - Get D3D11Device from TextureSourceProvider if it exists. r=dvander

This commit is contained in:
vincentliu 2017-05-12 14:09:53 +08:00
Родитель 0b5026dbf2
Коммит 3d037c531f
1 изменённых файлов: 7 добавлений и 1 удалений

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

@ -748,7 +748,12 @@ DXGITextureHostD3D11::GetDevice()
if (mFlags & TextureFlags::INVALID_COMPOSITOR) { if (mFlags & TextureFlags::INVALID_COMPOSITOR) {
return nullptr; return nullptr;
} }
return mDevice;
if (mProvider) {
return mProvider->GetD3D11Device();
} else {
return mDevice;
}
} }
void void
@ -821,6 +826,7 @@ DXGITextureHostD3D11::LockInternal()
} }
if (mProvider) { if (mProvider) {
MOZ_RELEASE_ASSERT(mProvider->IsValid());
mTextureSource = new DataTextureSourceD3D11(mFormat, mProvider, mTexture); mTextureSource = new DataTextureSourceD3D11(mFormat, mProvider, mTexture);
} else { } else {
mTextureSource = new DataTextureSourceD3D11(mDevice, mFormat, mTexture); mTextureSource = new DataTextureSourceD3D11(mDevice, mFormat, mTexture);