| Index: ui/gl/test/gl_image_test_template.h
|
| diff --git a/ui/gl/test/gl_image_test_template.h b/ui/gl/test/gl_image_test_template.h
|
| index 4459200bf20109f51f2c3e4ee47717f26ed93350..507ecdf2b598f352c5f46f7ead7deb3425d23767 100644
|
| --- a/ui/gl/test/gl_image_test_template.h
|
| +++ b/ui/gl/test/gl_image_test_template.h
|
| @@ -146,6 +146,9 @@ class GLImageTest : public testing::Test {
|
| TYPED_TEST_CASE_P(GLImageTest);
|
|
|
| TYPED_TEST_P(GLImageTest, CreateAndDestroy) {
|
| + if (!this->delegate_.IsSupported())
|
| + return;
|
| +
|
| const gfx::Size small_image_size(4, 4);
|
| const gfx::Size large_image_size(512, 512);
|
| const uint8_t image_color[] = {0, 0xff, 0, 0xff};
|
| @@ -184,6 +187,9 @@ class GLImageZeroInitializeTest : public GLImageTest<GLImageTestDelegate> {};
|
| TYPED_TEST_CASE_P(GLImageZeroInitializeTest);
|
|
|
| TYPED_TEST_P(GLImageZeroInitializeTest, ZeroInitialize) {
|
| + // Ozone platform knows the supported format in runtime.
|
| + if (!this->delegate_.IsSupported())
|
| + return;
|
| #if defined(OS_MACOSX)
|
| // This functionality is disabled on Mavericks because it breaks PDF
|
| // rendering. https://crbug.com/594343.
|
| @@ -236,8 +242,17 @@ class GLImageBindTest : public GLImageTest<GLImageTestDelegate> {};
|
| TYPED_TEST_CASE_P(GLImageBindTest);
|
|
|
| TYPED_TEST_P(GLImageBindTest, BindTexImage) {
|
| + if (!this->delegate_.IsSupported())
|
| + return;
|
| +
|
| const gfx::Size image_size(256, 256);
|
| - const uint8_t image_color[] = {0x10, 0x20, 0, 0xff};
|
| + // These values are picked so that RGB -> YUV on the CPU converted
|
| + // back to RGB on the GPU produces the original RGB values without
|
| + // any error.
|
| + uint8_t image_color[] = {0x10, 0x20, 0x00, 0xff};
|
| + // glReadPixels(.., GL_RGBA, ..) for RED texture returns (R, 0x00, 0x00, 0xff)
|
| + if (gfx::BufferFormat::R_8 == this->delegate_.GetBufferFormat())
|
| + image_color[1] = 0x00;
|
|
|
| GLuint framebuffer =
|
| GLTestHelper::SetupFramebuffer(image_size.width(), image_size.height());
|
| @@ -283,11 +298,17 @@ class GLImageCopyTest : public GLImageTest<GLImageTestDelegate> {};
|
| TYPED_TEST_CASE_P(GLImageCopyTest);
|
|
|
| TYPED_TEST_P(GLImageCopyTest, CopyTexImage) {
|
| + if (!this->delegate_.IsSupported())
|
| + return;
|
| +
|
| const gfx::Size image_size(256, 256);
|
| // These values are picked so that RGB -> YUV on the CPU converted
|
| // back to RGB on the GPU produces the original RGB values without
|
| // any error.
|
| - const uint8_t image_color[] = {0x10, 0x20, 0, 0xff};
|
| + uint8_t image_color[] = {0x10, 0x20, 0x00, 0xff};
|
| + // glReadPixels(.., GL_RGBA, ..) for RED texture returns (R, 0x00, 0x00, 0xff)
|
| + if (gfx::BufferFormat::R_8 == this->delegate_.GetBufferFormat())
|
| + image_color[1] = 0x00;
|
| const uint8_t texture_color[] = {0, 0, 0xff, 0xff};
|
|
|
| GLuint framebuffer =
|
|
|