Backed out 2 changesets (bug 919936) for Windows build bustage
authorWes Kocher <wkocher@mozilla.com>
Wed, 09 Oct 2013 15:37:07 -0700
changeset 164092 257a97e05777f06c52e68b1cdd381fc50003d497
parent 164091 734a282006c26e01288f9b0a7664c8dfbaf9b088
child 164093 7a7b028f0a023198f94ac8aaf42b3edbc0e2e636
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs919936
milestone27.0a1
backs out2f879cfc861fc56b631bdafa8d3d20e1001c5686
8ce7c4424b8afe9b81ab739d9b629962493c5cb0
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 2 changesets (bug 919936) for Windows build bustage Backed out changeset 2f879cfc861f (bug 919936) Backed out changeset 8ce7c4424b8a (bug 919936)
gfx/tests/gtest/LayerTestUtils.cpp
gfx/tests/gtest/LayerTestUtils.h
gfx/tests/gtest/TestTextures.cpp
gfx/tests/gtest/moz.build
deleted file mode 100644
--- a/gfx/tests/gtest/LayerTestUtils.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 et: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-#include "gtest/gtest.h"
-#include "gmock/gmock.h"
-
-#include "gfx2DGlue.h"
-#include "gfxImageSurface.h"
-#include "gfxTypes.h"
-#include "ImageContainer.h"
-#include "mozilla/layers/Compositor.h"
-#include "LayerTestUtils.h"
-#include "mozilla/layers/CompositorOGL.h"
-#include "mozilla/layers/BasicCompositor.h"
-#ifdef XP_WIN
-#include "mozilla/layers/CompositorD3D11.h"
-#include "mozilla/layers/CompositorD3D9.h"
-#endif
-
-namespace mozilla {
-namespace layers {
-
-Compositor*
-CreateCompositor(LayersBackend aBackend, nsIWidget* aWidget)
-{
-  switch (aBackend) {
-    case LAYERS_BASIC: return new BasicCompositor(aWidget);
-    case LAYERS_OPENGL: return new CompositorOGL(aWidget, 800, 600, false);
-#ifdef XP_WIN
-    case LAYERS_D3D11: return new CompositorD3D11(aWidget);
-    case LAYERS_D3D9: return new CompositorD3D9(aWidget);
-#endif
-  }
-  return nullptr;
-}
-
-// fills the surface with values betwee 0 and 100.
-void
-SetupSurface(gfx::DataSourceSurface* surface)
-{
-  int bpp = gfx::BytesPerPixel(surface->GetFormat());
-  int stride = surface->Stride();
-  uint8_t val = 0;
-  uint8_t* data = surface->GetData();
-  for (int y = 0; y < surface->GetSize().height; ++y) {
-    for (int x = 0; x < surface->GetSize().width; ++x) {
-      for (int b = 0; b < bpp; ++b) {
-        data[y*stride + x*bpp + b] = val;
-        if (val == 100) {
-          val = 0;
-        } else {
-          ++val;
-        }
-      }
-    }
-  }
-}
-
-// fills the surface with values betwee 0 and 100.
-void
-SetupSurface(gfxImageSurface* surface)
-{
-  int bpp = gfxASurface::BytePerPixelFromFormat(surface->Format());
-  int stride = surface->Stride();
-  uint8_t val = 0;
-  uint8_t* data = surface->Data();
-  for (int y = 0; y < surface->Height(); ++y) {
-    for (int x = 0; x < surface->Width(); ++x) {
-      for (int b = 0; b < bpp; ++b) {
-        data[y*stride + x*bpp + b] = val;
-        if (val == 100) {
-          val = 0;
-        } else {
-          ++val;
-        }
-      }
-    }
-  }
-}
-
-
-// return true if two surfaces contain the same data
-void
-AssertSurfacesEqual(gfx::DataSourceSurface* surface1,
-                    gfx::DataSourceSurface* surface2)
-{
-  ASSERT_EQ(surface1->GetSize(), surface2->GetSize());
-  ASSERT_EQ(surface1->GetFormat(), surface2->GetFormat());
-
-  uint8_t* data1 = surface1->GetData();
-  uint8_t* data2 = surface2->GetData();
-  int stride1 = surface1->Stride();
-  int stride2 = surface2->Stride();
-  int bpp = gfx::BytesPerPixel(surface1->GetFormat());
-
-  for (int y = 0; y < surface1->GetSize().height; ++y) {
-    for (int x = 0; x < surface1->GetSize().width; ++x) {
-      for (int b = 0; b < bpp; ++b) {
-        ASSERT_EQ(data1[y*stride1 + x*bpp + b],
-                  data2[y*stride2 + x*bpp + b]);
-      }
-    }
-  }
-}
-
-// return true if two surfaces contain the same data
-void
-AssertSurfacesEqual(gfxImageSurface* surface1,
-                    gfxImageSurface* surface2)
-{
-  ASSERT_EQ(surface1->GetSize(), surface2->GetSize());
-  ASSERT_EQ(surface1->Format(), surface2->Format());
-
-  uint8_t* data1 = surface1->Data();
-  uint8_t* data2 = surface2->Data();
-  int stride1 = surface1->Stride();
-  int stride2 = surface2->Stride();
-  int bpp = gfxASurface::BytePerPixelFromFormat(surface1->Format());
-
-  for (int y = 0; y < surface1->Height(); ++y) {
-    for (int x = 0; x < surface1->Width(); ++x) {
-      for (int b = 0; b < bpp; ++b) {
-        ASSERT_EQ(data1[y*stride1 + x*bpp + b],
-                  data2[y*stride2 + x*bpp + b]);
-      }
-    }
-  }
-}
-
-// Same as above, for YCbCr surfaces
-void
-AssertYCbCrSurfacesEqual(PlanarYCbCrData* surface1,
-                         PlanarYCbCrData* surface2)
-{
-  ASSERT_EQ(surface1->mYSize, surface2->mYSize);
-  ASSERT_EQ(surface1->mCbCrSize, surface2->mCbCrSize);
-  ASSERT_EQ(surface1->mStereoMode, surface2->mStereoMode);
-  ASSERT_EQ(surface1->mPicSize, surface2->mPicSize);
-
-  for (int y = 0; y < surface1->mYSize.height; ++y) {
-    for (int x = 0; x < surface1->mYSize.width; ++x) {
-      ASSERT_EQ(surface1->mYChannel[y*surface1->mYStride + x*(1+surface1->mYSkip)],
-                surface2->mYChannel[y*surface2->mYStride + x*(1+surface2->mYSkip)]);
-    }
-  }
-  for (int y = 0; y < surface1->mCbCrSize.height; ++y) {
-    for (int x = 0; x < surface1->mCbCrSize.width; ++x) {
-      ASSERT_EQ(surface1->mCbChannel[y*surface1->mCbCrStride + x*(1+surface1->mCbSkip)],
-                surface2->mCbChannel[y*surface2->mCbCrStride + x*(1+surface2->mCbSkip)]);
-      ASSERT_EQ(surface1->mCrChannel[y*surface1->mCbCrStride + x*(1+surface1->mCrSkip)],
-                surface2->mCrChannel[y*surface2->mCbCrStride + x*(1+surface2->mCrSkip)]);
-    }
-  }
-}
-
-} // layers
-} // mozilla
deleted file mode 100644
--- a/gfx/tests/gtest/LayerTestUtils.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* vim:set ts=2 sw=2 sts=2 et: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-#ifndef TEST_GFX_TEXTURES
-#define TEST_GFX_TEXTURES
-
-#include "CompositorTypes.h"
-
-class gfxImageSurface;
-class nsIWidget;
-
-namespace mozilla {
-namespace gfx {
-  class DataSourceSurface;
-}
-
-namespace layers {
-
-class PlanarYCbCrData;
-class Compositor;
-
-Compositor* CreateCompositor(LayersBackend aBakend, nsIWidget* aWidget);
-
-/// Fills the surface with values between 0 and 100.
-void SetupSurface(gfxImageSurface* surface);
-
-/// Fills the surface with values between 0 and 100.
-void SetupSurface(gfx::DataSourceSurface* surface);
-
-/// Returns true if two surfaces contain the same data
-void AssertSurfacesEqual(gfx::DataSourceSurface* surface1,
-                         gfx::DataSourceSurface* surface2);
-
-/// Returns true if two surfaces contain the same data
-void AssertSurfacesEqual(gfxImageSurface* surface1,
-                         gfxImageSurface* surface2);
-
-/// Same as above, for YCbCr surfaces
-void AssertYCbCrSurfacesEqual(PlanarYCbCrData* surface1,
-                              PlanarYCbCrData* surface2);
-
-
-} // layers
-} // mozilla
-
-#endif
--- a/gfx/tests/gtest/TestTextures.cpp
+++ b/gfx/tests/gtest/TestTextures.cpp
@@ -6,36 +6,78 @@
 #include "gtest/gtest.h"
 #include "gmock/gmock.h"
 
 #include "mozilla/layers/TextureClient.h"
 #include "mozilla/layers/TextureHost.h"
 #include "gfx2DGlue.h"
 #include "gfxImageSurface.h"
 #include "gfxTypes.h"
-#include "ImageContainer.h"
-#include "LayerTestUtils.h"
-#include "mozilla/layers/YCbCrImageDataSerializer.h"
 
+using namespace gfx;
 using namespace mozilla;
 using namespace mozilla::layers;
 
 /*
  * This test performs the following actions:
  * - creates a surface
  * - initialize a texture client with it
  * - serilaizes the texture client
  * - deserializes the data into a texture host
  * - reads the surface from the texture host.
  *
  * The surface in the end should be equal to the inital one.
  * This test is run for different combinations of texture types and
  * image formats.
  */
 
+
+// fills the surface with values betwee 0 and 100.
+void SetupSurface(gfxImageSurface* surface) {
+  int bpp = gfxASurface::BytePerPixelFromFormat(surface->Format());
+  int stride = surface->Stride();
+  uint8_t val = 0;
+  uint8_t* data = surface->Data();
+  for (int y = 0; y < surface->Height(); ++y) {
+    for (int x = 0; x < surface->Height(); ++x) {
+      for (int b = 0; b < bpp; ++b) {
+        data[y*stride + x*bpp + b] = val;
+        if (val == 100) {
+          val = 0;
+        } else {
+          ++val;
+        }
+      }
+    }
+  }
+}
+
+// return true if two surfaces contain the same data
+void AssertSurfacesEqual(gfxImageSurface* surface1,
+                         gfxImageSurface* surface2)
+{
+  ASSERT_EQ(surface1->GetSize(), surface2->GetSize());
+  ASSERT_EQ(surface1->Format(), surface2->Format());
+
+  uint8_t* data1 = surface1->Data();
+  uint8_t* data2 = surface2->Data();
+  int stride1 = surface1->Stride();
+  int stride2 = surface2->Stride();
+  int bpp = gfxASurface::BytePerPixelFromFormat(surface1->Format());
+
+  for (int y = 0; y < surface1->Height(); ++y) {
+    for (int x = 0; x < surface1->Width(); ++x) {
+      for (int b = 0; b < bpp; ++b) {
+        ASSERT_EQ(data1[y*stride1 + x*bpp + b],
+                  data2[y*stride2 + x*bpp + b]);
+      }
+    }
+  }
+}
+
 // Run the test for a texture client and a surface
 void TestTextureClientSurface(TextureClient* texture, gfxImageSurface* surface) {
 
   // client allocation
   ASSERT_TRUE(texture->AsTextureClientSurface() != nullptr);
   TextureClientSurface* client = texture->AsTextureClientSurface();
   client->AllocateForSurface(ToIntSize(surface->GetSize()));
   ASSERT_TRUE(texture->IsAllocated());
@@ -72,84 +114,16 @@ void TestTextureClientSurface(TextureCli
   host->Unlock();
 
   AssertSurfacesEqual(surface, hostSurface.get());
 
   // host deallocation
   host->DeallocateSharedData();
 }
 
-// Same as above, for YCbCr surfaces
-void TestTextureClientYCbCr(TextureClient* client, PlanarYCbCrData& ycbcrData) {
-
-  // client allocation
-  ASSERT_TRUE(client->AsTextureClientYCbCr() != nullptr);
-  TextureClientYCbCr* texture = client->AsTextureClientYCbCr();
-  texture->AllocateForYCbCr(ToIntSize(ycbcrData.mYSize),
-                            ToIntSize(ycbcrData.mCbCrSize),
-                            ycbcrData.mStereoMode);
-  ASSERT_TRUE(client->IsAllocated());
-
-  // client painting
-  texture->UpdateYCbCr(ycbcrData);
-
-  ASSERT_TRUE(client->Lock(OPEN_READ_ONLY));
-  client->Unlock();
-
-  // client serialization
-  client->SetID(1);
-  SurfaceDescriptor descriptor;
-  ASSERT_TRUE(client->ToSurfaceDescriptor(descriptor));
-
-  ASSERT_NE(descriptor.type(), SurfaceDescriptor::Tnull_t);
-
-  // host deserialization
-  RefPtr<TextureHost> textureHost = CreateBackendIndependentTextureHost(client->GetID(),
-                                                                        descriptor, nullptr,
-                                                                        client->GetFlags());
-
-  RefPtr<BufferTextureHost> host = static_cast<BufferTextureHost*>(textureHost.get());
-
-  ASSERT_TRUE(host.get() != nullptr);
-  ASSERT_EQ(host->GetFlags(), client->GetFlags());
-  ASSERT_EQ(host->GetID(), client->GetID());
-
-  // This will work iff the compositor is not BasicCompositor
-  ASSERT_EQ(host->GetFormat(), mozilla::gfx::FORMAT_YUV);
-
-  // host read
-  ASSERT_TRUE(host->Lock());
-
-  ASSERT_TRUE(host->GetFormat() == mozilla::gfx::FORMAT_YUV);
-
-  YCbCrImageDataDeserializer yuvDeserializer(host->GetBuffer());
-  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();
-
-  // host deallocation
-  host->DeallocateSharedData();
-}
-
 TEST(Layers, TextureSerialization) {
   // the test is run on all the following image formats
   gfxImageFormat formats[3] = {
     gfxImageFormatARGB32,
     gfxImageFormatRGB24,
     gfxImageFormatA8,
   };
 
@@ -163,43 +137,8 @@ TEST(Layers, TextureSerialization) {
                                 mozilla::gfx::ImageFormatToSurfaceFormat(surface->Format()),
                                 TEXTURE_FLAGS_DEFAULT);
 
     TestTextureClientSurface(client, surface);
 
     // XXX - Test more texture client types.
   }
 }
-
-TEST(Layers, TextureYCbCrSerialization) {
-  RefPtr<gfxImageSurface> ySurface = new gfxImageSurface(gfxIntSize(400,300), gfxImageFormatA8);
-  RefPtr<gfxImageSurface> cbSurface = new gfxImageSurface(gfxIntSize(200,150), gfxImageFormatA8);
-  RefPtr<gfxImageSurface> crSurface = new gfxImageSurface(gfxIntSize(200,150), gfxImageFormatA8);
-  SetupSurface(ySurface.get());
-  SetupSurface(cbSurface.get());
-  SetupSurface(crSurface.get());
-
-  PlanarYCbCrData clientData;
-  clientData.mYChannel = ySurface->Data();
-  clientData.mCbChannel = cbSurface->Data();
-  clientData.mCrChannel = crSurface->Data();
-  clientData.mYSize = ySurface->GetSize();
-  clientData.mPicSize = ySurface->GetSize();
-  clientData.mCbCrSize = cbSurface->GetSize();
-  clientData.mYStride = ySurface->Stride();
-  clientData.mCbCrStride = cbSurface->Stride();
-  clientData.mStereoMode = STEREO_MODE_MONO;
-  clientData.mYSkip = 0;
-  clientData.mCbSkip = 0;
-  clientData.mCrSkip = 0;
-  clientData.mCrSkip = 0;
-  clientData.mPicX = 0;
-  clientData.mPicX = 0;
-
-  RefPtr<TextureClient> client
-    = new MemoryTextureClient(nullptr,
-                              mozilla::gfx::FORMAT_YUV,
-                              TEXTURE_FLAGS_DEFAULT);
-
-  TestTextureClientYCbCr(client, clientData);
-
-  // XXX - Test more texture client types.
-}
--- a/gfx/tests/gtest/moz.build
+++ b/gfx/tests/gtest/moz.build
@@ -10,17 +10,16 @@ LIBRARY_NAME = 'gfxtest'
 
 GTEST_CPP_SOURCES += [
     # Hangs on linux in ApplyGdkScreenFontOptions
     #'gfxFontSelectionTest.cpp',
     'gfxSurfaceRefCountTest.cpp',
     # Test works but it doesn't assert anything
     #'gfxTextRunPerfTest.cpp',
     'gfxWordCacheTest.cpp',
-    'LayerTestUtils.cpp',
     'TestAsyncPanZoomController.cpp',
     'TestLayers.cpp',
     'TestTiledLayerBuffer.cpp',
     'TestRegion.cpp',
     'TestColorNames.cpp',
     'TestTextures.cpp',
 ]