New issue
Advanced search Search tips

Issue 897208 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 898270



Sign in to add a comment

Switch to RasterContextProvider & RasterInterface from ContextProvider and GLES2Interface

Project Member Reported by penghuang@google.com, Oct 19

Issue description

Switch to RasterContextProvider & RasterInterface
 
Blocking: 898270
Labels: vulkanize
Labels: -vulkanize Proj-Vulkanize
Can you expand the bug description please?
Summary: Switch to RasterContextProvider & RasterInterface from ContextProvider and GLES2Interface (was: Switch to RasterContextProvider & RasterInterface)
Currently, Chrome assume it is using the GL, so ContextProvider and GLES2Interface are used in many place. But in future, chrome will be able to use Vulkan, GL, DX12 or Metal for rendering, so it should not depend on GLES2. It should use the RasterInterface instead.
We will never be able to remove GLES2Interface altogether, as it's fundamentally needed for WebGL (and Pepper). The important bit for Vulkan (or other APIs) is to have SharedImages interop with Vulkan and GL, and port all client code to SharedImages.
The really big tasks that I'm aware of are:
- UI over to RasterInterface (https://crbug.com/895874); maybe we use GLES2Interface for video compression for tab casting (https://crbug.com/898595)
- moving video (src/media) to RasterInterface (some comments here https://bugs.chromium.org/p/chromium/issues/detail?id=879640#c4); this is related but orthogonal to moving video to SharedImage
- Canvas over to OOP-R (https://crbug.com/776800)

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d2753a25d557ee736ed05129c3a1978bc5bd44a2

commit d2753a25d557ee736ed05129c3a1978bc5bd44a2
Author: Michael Spang <spang@chromium.org>
Date: Mon Nov 19 22:14:08 2018

ozone: scenic: Enable SwiftShader

Parts of chromium still depend on a GLES implementation, even when vulkan
is in use. To avoid crashes related to those components, enable
swiftshader temporarily.

Bug: 861853, 897208
Test: run_content_shell --ozone-platform=scenic --disable-gpu --enable-vulkan

Change-Id: I87453e066de39f188a8db28079d80f058fcc4e1c
Reviewed-on: https://chromium-review.googlesource.com/c/1343240
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609461}
[modify] https://crrev.com/d2753a25d557ee736ed05129c3a1978bc5bd44a2/ui/ozone/platform/scenic/scenic_surface_factory.cc
[modify] https://crrev.com/d2753a25d557ee736ed05129c3a1978bc5bd44a2/ui/ozone/platform/scenic/scenic_surface_factory.h

Sign in to add a comment