Commit fb362a95 authored by Christopher Cameron's avatar Christopher Cameron Committed by Commit Bot

Disable gfx::BufferFormat::BGRA_1010102 IOSurface support

This format is broken under ANGLE. Mark it as an invalid format so that
it doesn't get partially-used as happened in r783187, resulting in its
revert in r783644.

Bug: 1100599, 1092155
Change-Id: I8833960bc4e39a9761bfc6b966d17015a67fdf6f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2274723Reviewed-by: default avatarGeoff Lang <geofflang@chromium.org>
Commit-Queue: ccameron <ccameron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#784000}
parent 15b3edf8
......@@ -495,9 +495,12 @@ 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:
......
......@@ -52,8 +52,9 @@ InternalFormatType BufferFormatToInternalFormatType(gfx::BufferFormat format,
return {GL_BGRA_EXT, GL_UNSIGNED_BYTE};
case gfx::BufferFormat::RGBA_F16:
return {GL_RGBA, GL_HALF_FLOAT};
case gfx::BufferFormat::YUV_420_BIPLANAR:
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};
case gfx::BufferFormat::BGR_565:
......@@ -61,6 +62,7 @@ InternalFormatType BufferFormatToInternalFormatType(gfx::BufferFormat format,
case gfx::BufferFormat::RGBX_8888:
case gfx::BufferFormat::RGBA_1010102:
case gfx::BufferFormat::YVU_420:
case gfx::BufferFormat::YUV_420_BIPLANAR:
case gfx::BufferFormat::P010:
NOTREACHED();
return {GL_NONE, GL_NONE};
......
......@@ -91,33 +91,36 @@ 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::BGRA_1010102>>;
GLImageIOSurfaceTestDelegate<gfx::BufferFormat::YUV_420_BIPLANAR>>;
INSTANTIATE_TYPED_TEST_SUITE_P(GLImageIOSurface, GLImageTest, GLImageTestTypes);
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>>;
// 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>>;
INSTANTIATE_TYPED_TEST_SUITE_P(GLImageIOSurface,
GLImageZeroInitializeTest,
GLImageRGBTestTypes);
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>>;
// 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>>;
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