Commit b69d4bcf authored by Geoff Lang's avatar Geoff Lang Committed by Commit Bot

Support BGRA_1010102 IOSurfaces with ANGLE.

Bug: chromium:1100599
Change-Id: I6c41ad568d09ffba4ddf2edd4ea2d0a44d047cbc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2307656Reviewed-by: default avatarccameron <ccameron@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791924}
parent 8e2f722d
......@@ -500,12 +500,9 @@ bool GLImageIOSurface::ValidFormat(gfx::BufferFormat format) {
case gfx::BufferFormat::BGRX_8888:
case gfx::BufferFormat::RGBA_8888:
case gfx::BufferFormat::RGBA_F16:
case gfx::BufferFormat::BGRA_1010102:
case gfx::BufferFormat::YUV_420_BIPLANAR:
return true;
case gfx::BufferFormat::BGRA_1010102:
// TODO(https://crbug.com/1100599): Re-enable this format once ANGLE
// supports it.
return false;
case gfx::BufferFormat::R_16:
case gfx::BufferFormat::RG_88:
case gfx::BufferFormat::BGR_565:
......
......@@ -53,10 +53,7 @@ InternalFormatType BufferFormatToInternalFormatType(gfx::BufferFormat format,
case gfx::BufferFormat::RGBA_F16:
return {GL_RGBA, GL_HALF_FLOAT};
case gfx::BufferFormat::BGRA_1010102:
// TODO(https://crbug.com/1100599): Change this to be
// {GL_BGRA_EXT, GL_UNSIGNED_INT_2_10_10_10_REV}.
NOTIMPLEMENTED();
return {GL_NONE, GL_NONE};
return {GL_RGB10_A2, GL_UNSIGNED_INT_2_10_10_10_REV};
case gfx::BufferFormat::BGR_565:
case gfx::BufferFormat::RGBA_4444:
case gfx::BufferFormat::RGBX_8888:
......
......@@ -91,36 +91,33 @@ class GLImageIOSurfaceTestDelegate : public GLImageTestDelegateBase {
}
};
// TODO(https://crbug.com/1100599): Re-add gfx::BufferFormat::BGRA_1010102 to
// this list.
using GLImageTestTypes = testing::Types<
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRX_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_F16>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::YUV_420_BIPLANAR>>;
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::YUV_420_BIPLANAR>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_1010102>>;
INSTANTIATE_TYPED_TEST_SUITE_P(GLImageIOSurface, GLImageTest, GLImageTestTypes);
// TODO(https://crbug.com/1100599): Re-add gfx::BufferFormat::BGRA_1010102 to
// this list.
using GLImageRGBTestTypes =
testing::Types<GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRX_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_F16>>;
using GLImageRGBTestTypes = testing::Types<
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRX_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_F16>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_1010102>>;
INSTANTIATE_TYPED_TEST_SUITE_P(GLImageIOSurface,
GLImageZeroInitializeTest,
GLImageRGBTestTypes);
// TODO(https://crbug.com/1100599): Re-add gfx::BufferFormat::BGRA_1010102 to
// this list.
using GLImageBindTestTypes =
testing::Types<GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRX_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_F16>>;
using GLImageBindTestTypes = testing::Types<
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRX_8888>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::RGBA_F16>,
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::BGRA_1010102>>;
INSTANTIATE_TYPED_TEST_SUITE_P(GLImageIOSurface,
GLImageBindTest,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment