mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1043929 - Fix TestTextures (disabling a part of the test that tries to do something it can't do) on a CLOSED TREE
This commit is contained in:
parent
cf83782d84
commit
2f632cb620
@ -179,16 +179,22 @@ void TestTextureClientSurface(TextureClient* texture, gfxImageSurface* surface)
|
||||
ASSERT_EQ(host->GetFlags(), texture->GetFlags());
|
||||
|
||||
// host read
|
||||
ASSERT_TRUE(host->Lock());
|
||||
RefPtr<mozilla::gfx::DataSourceSurface> hostDataSurface = host->GetAsSurface();
|
||||
host->Unlock();
|
||||
|
||||
nsRefPtr<gfxImageSurface> hostSurface =
|
||||
new gfxImageSurface(hostDataSurface->GetData(),
|
||||
ThebesIntSize(hostDataSurface->GetSize()),
|
||||
hostDataSurface->Stride(),
|
||||
SurfaceFormatToImageFormat(hostDataSurface->GetFormat()));
|
||||
AssertSurfacesEqual(surface, hostSurface.get());
|
||||
// XXX - this can fail because lock tries to upload the texture but it needs a
|
||||
// Compositor to do that. We could add a DummyComposior for testing but I am
|
||||
// not sure it'll be worth it. Maybe always test against a BasicCompositor,
|
||||
// but the latter needs a widget...
|
||||
if (host->Lock()) {
|
||||
RefPtr<mozilla::gfx::DataSourceSurface> hostDataSurface = host->GetAsSurface();
|
||||
|
||||
nsRefPtr<gfxImageSurface> hostSurface =
|
||||
new gfxImageSurface(hostDataSurface->GetData(),
|
||||
ThebesIntSize(hostDataSurface->GetSize()),
|
||||
hostDataSurface->Stride(),
|
||||
SurfaceFormatToImageFormat(hostDataSurface->GetFormat()));
|
||||
AssertSurfacesEqual(surface, hostSurface.get());
|
||||
host->Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
// Same as above, for YCbCr surfaces
|
||||
@ -223,31 +229,32 @@ void TestTextureClientYCbCr(TextureClient* client, PlanarYCbCrData& ycbcrData) {
|
||||
ASSERT_EQ(host->GetFlags(), client->GetFlags());
|
||||
|
||||
// host read
|
||||
ASSERT_TRUE(host->Lock());
|
||||
|
||||
// This will work iff the compositor is not BasicCompositor
|
||||
ASSERT_EQ(host->GetFormat(), mozilla::gfx::SurfaceFormat::YUV);
|
||||
if (host->Lock()) {
|
||||
// This will work iff the compositor is not BasicCompositor
|
||||
ASSERT_EQ(host->GetFormat(), mozilla::gfx::SurfaceFormat::YUV);
|
||||
|
||||
YCbCrImageDataDeserializer yuvDeserializer(host->GetBuffer(), host->GetBufferSize());
|
||||
ASSERT_TRUE(yuvDeserializer.IsValid());
|
||||
PlanarYCbCrData data;
|
||||
data.mYChannel = yuvDeserializer.GetYData();
|
||||
data.mCbChannel = yuvDeserializer.GetCbData();
|
||||
data.mCrChannel = yuvDeserializer.GetCrData();
|
||||
data.mYStride = yuvDeserializer.GetYStride();
|
||||
data.mCbCrStride = yuvDeserializer.GetCbCrStride();
|
||||
data.mStereoMode = yuvDeserializer.GetStereoMode();
|
||||
data.mYSize = yuvDeserializer.GetYSize();
|
||||
data.mCbCrSize = yuvDeserializer.GetCbCrSize();
|
||||
data.mYSkip = 0;
|
||||
data.mCbSkip = 0;
|
||||
data.mCrSkip = 0;
|
||||
data.mPicSize = data.mYSize;
|
||||
data.mPicX = 0;
|
||||
data.mPicY = 0;
|
||||
YCbCrImageDataDeserializer yuvDeserializer(host->GetBuffer(), host->GetBufferSize());
|
||||
ASSERT_TRUE(yuvDeserializer.IsValid());
|
||||
PlanarYCbCrData data;
|
||||
data.mYChannel = yuvDeserializer.GetYData();
|
||||
data.mCbChannel = yuvDeserializer.GetCbData();
|
||||
data.mCrChannel = yuvDeserializer.GetCrData();
|
||||
data.mYStride = yuvDeserializer.GetYStride();
|
||||
data.mCbCrStride = yuvDeserializer.GetCbCrStride();
|
||||
data.mStereoMode = yuvDeserializer.GetStereoMode();
|
||||
data.mYSize = yuvDeserializer.GetYSize();
|
||||
data.mCbCrSize = yuvDeserializer.GetCbCrSize();
|
||||
data.mYSkip = 0;
|
||||
data.mCbSkip = 0;
|
||||
data.mCrSkip = 0;
|
||||
data.mPicSize = data.mYSize;
|
||||
data.mPicX = 0;
|
||||
data.mPicY = 0;
|
||||
|
||||
AssertYCbCrSurfacesEqual(&ycbcrData, &data);
|
||||
host->Unlock();
|
||||
AssertYCbCrSurfacesEqual(&ycbcrData, &data);
|
||||
host->Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
Loading…
Reference in New Issue
Block a user