Commit feb29fb4 authored by Juanmi Huertas's avatar Juanmi Huertas Committed by Commit Bot

Replacing AcceleratedResourceUsage in WebGL to individual methods

Removing usage of the fallback method of CreateProvider to the actual
Creation of a SharedImageProvider and if that fails, a BitmapProvider.


Bug: 1035589, 1021287
Change-Id: I2bafd874478022718a725489387709aaace60656
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2095341
Commit-Queue: Juanmi Huertas <juanmihd@chromium.org>
Reviewed-by: default avatarFernando Serboncini <fserb@chromium.org>
Reviewed-by: default avatarJames Darpinian <jdarpinian@chromium.org>
Cr-Commit-Position: refs/heads/master@{#749698}
parent bb2b2cbf
...@@ -771,16 +771,21 @@ scoped_refptr<StaticBitmapImage> WebGLRenderingContextBase::GetImage( ...@@ -771,16 +771,21 @@ scoped_refptr<StaticBitmapImage> WebGLRenderingContextBase::GetImage(
// Since we are grabbing a snapshot that is not for compositing, we use a // Since we are grabbing a snapshot that is not for compositing, we use a
// custom resource provider. This avoids consuming compositing-specific // custom resource provider. This avoids consuming compositing-specific
// resources (e.g. GpuMemoryBuffer) // resources (e.g. GpuMemoryBuffer)
auto color_params = ColorParams();
std::unique_ptr<CanvasResourceProvider> resource_provider = std::unique_ptr<CanvasResourceProvider> resource_provider =
CanvasResourceProvider::Create( CanvasResourceProvider::CreateSharedImageProvider(
size, size, SharedGpuContext::ContextProviderWrapper(),
CanvasResourceProvider::ResourceUsage::kAcceleratedResourceUsage, GetDrawingBuffer()->FilterQuality(), color_params,
SharedGpuContext::ContextProviderWrapper(), 0, is_origin_top_left_, /*shared_image_usage_flags = */ 0u);
GetDrawingBuffer()->FilterQuality(), ColorParams(), // todo(bug 1035589) Check if this cpu fallback is really needed here
CanvasResourceProvider::kDefaultPresentationMode, if (!resource_provider || !resource_provider->IsValid()) {
nullptr /* canvas_resource_dispatcher */, is_origin_top_left_); resource_provider = CanvasResourceProvider::CreateBitmapProvider(
size, GetDrawingBuffer()->FilterQuality(), color_params);
}
if (!resource_provider || !resource_provider->IsValid()) if (!resource_provider || !resource_provider->IsValid())
return nullptr; return nullptr;
if (!CopyRenderingResultsFromDrawingBuffer(resource_provider.get(), if (!CopyRenderingResultsFromDrawingBuffer(resource_provider.get(),
kBackBuffer)) { kBackBuffer)) {
// copyRenderingResultsFromDrawingBuffer is expected to always succeed // copyRenderingResultsFromDrawingBuffer is expected to always succeed
......
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