summaryrefslogtreecommitdiff
path: root/chromium/ui/gl/gl_image_io_surface.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/gl/gl_image_io_surface.mm')
-rw-r--r--chromium/ui/gl/gl_image_io_surface.mm67
1 files changed, 35 insertions, 32 deletions
diff --git a/chromium/ui/gl/gl_image_io_surface.mm b/chromium/ui/gl/gl_image_io_surface.mm
index 12bb7790c11..8ae7b77c202 100644
--- a/chromium/ui/gl/gl_image_io_surface.mm
+++ b/chromium/ui/gl/gl_image_io_surface.mm
@@ -55,36 +55,6 @@ bool ValidInternalFormat(unsigned internalformat) {
}
}
-bool ValidFormat(gfx::BufferFormat format) {
- switch (format) {
- case gfx::BufferFormat::R_8:
- case gfx::BufferFormat::BGRA_8888:
- case gfx::BufferFormat::BGRX_8888:
- case gfx::BufferFormat::RGBA_8888:
- case gfx::BufferFormat::RGBA_F16:
- case gfx::BufferFormat::BGRX_1010102:
- case gfx::BufferFormat::UYVY_422:
- case gfx::BufferFormat::YUV_420_BIPLANAR:
- return true;
- case gfx::BufferFormat::R_16:
- case gfx::BufferFormat::RG_88:
- case gfx::BufferFormat::ATC:
- case gfx::BufferFormat::ATCIA:
- case gfx::BufferFormat::DXT1:
- case gfx::BufferFormat::DXT5:
- case gfx::BufferFormat::ETC1:
- case gfx::BufferFormat::BGR_565:
- case gfx::BufferFormat::RGBA_4444:
- case gfx::BufferFormat::RGBX_8888:
- case gfx::BufferFormat::RGBX_1010102:
- case gfx::BufferFormat::YVU_420:
- return false;
- }
-
- NOTREACHED();
- return false;
-}
-
GLenum TextureFormat(gfx::BufferFormat format) {
switch (format) {
case gfx::BufferFormat::R_8:
@@ -212,7 +182,8 @@ GLenum ConvertRequestedInternalFormat(GLenum internalformat) {
GLImageIOSurface* GLImageIOSurface::Create(const gfx::Size& size,
unsigned internalformat) {
#if BUILDFLAG(USE_EGL_ON_MAC)
- if (GLContext::GetCurrent()->GetVersionInfo()->is_angle) {
+ if (GLContext::GetCurrent()->GetVersionInfo()->is_angle ||
+ GLContext::GetCurrent()->GetVersionInfo()->is_swiftshader) {
return new GLImageIOSurfaceEGL(size, internalformat);
}
#endif // BUILDFLAG(USE_EGL_ON_MAC)
@@ -413,7 +384,8 @@ bool GLImageIOSurface::ScheduleOverlayPlane(gfx::AcceleratedWidget widget,
int z_order,
gfx::OverlayTransform transform,
const gfx::Rect& bounds_rect,
- const gfx::RectF& crop_rect) {
+ const gfx::RectF& crop_rect,
+ bool enable_blend) {
NOTREACHED();
return false;
}
@@ -493,4 +465,35 @@ GLImageIOSurface* GLImageIOSurface::FromGLImage(GLImage* image) {
return static_cast<GLImageIOSurface*>(image);
}
+// static
+bool GLImageIOSurface::ValidFormat(gfx::BufferFormat format) {
+ switch (format) {
+ case gfx::BufferFormat::R_8:
+ case gfx::BufferFormat::BGRA_8888:
+ case gfx::BufferFormat::BGRX_8888:
+ case gfx::BufferFormat::RGBA_8888:
+ case gfx::BufferFormat::RGBA_F16:
+ case gfx::BufferFormat::BGRX_1010102:
+ case gfx::BufferFormat::UYVY_422:
+ case gfx::BufferFormat::YUV_420_BIPLANAR:
+ return true;
+ case gfx::BufferFormat::R_16:
+ case gfx::BufferFormat::RG_88:
+ case gfx::BufferFormat::ATC:
+ case gfx::BufferFormat::ATCIA:
+ case gfx::BufferFormat::DXT1:
+ case gfx::BufferFormat::DXT5:
+ case gfx::BufferFormat::ETC1:
+ case gfx::BufferFormat::BGR_565:
+ case gfx::BufferFormat::RGBA_4444:
+ case gfx::BufferFormat::RGBX_8888:
+ case gfx::BufferFormat::RGBX_1010102:
+ case gfx::BufferFormat::YVU_420:
+ return false;
+ }
+
+ NOTREACHED();
+ return false;
+}
+
} // namespace gl