Commit 266453b1 authored by Khushal Sagar's avatar Khushal Sagar Committed by Commit Bot

canvas2d: Check max texture size for software GMB resource allocations.

R=fserb@chromium.org

Bug: 900706, 995142
Change-Id: I7221db94e63f11d67c45cbafcc019b3995f8fe8d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1765659
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: default avatarFernando Serboncini <fserb@chromium.org>
Auto-Submit: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#690430}
parent ff42027c
...@@ -1171,6 +1171,9 @@ std::unique_ptr<CanvasResourceProvider> CanvasResourceProvider::Create( ...@@ -1171,6 +1171,9 @@ std::unique_ptr<CanvasResourceProvider> CanvasResourceProvider::Create(
case CanvasResourceType::kSharedImage: { case CanvasResourceType::kSharedImage: {
DCHECK_NE(usage, ResourceUsage::kSoftwareResourceUsage); DCHECK_NE(usage, ResourceUsage::kSoftwareResourceUsage);
if (!context_provider_wrapper)
continue;
const bool usage_wants_single_buffered = const bool usage_wants_single_buffered =
usage == ResourceUsage::kAcceleratedDirect2DResourceUsage || usage == ResourceUsage::kAcceleratedDirect2DResourceUsage ||
usage == ResourceUsage::kAcceleratedDirect3DResourceUsage || usage == ResourceUsage::kAcceleratedDirect3DResourceUsage ||
...@@ -1187,9 +1190,14 @@ std::unique_ptr<CanvasResourceProvider> CanvasResourceProvider::Create( ...@@ -1187,9 +1190,14 @@ std::unique_ptr<CanvasResourceProvider> CanvasResourceProvider::Create(
context_provider_wrapper->ContextProvider() context_provider_wrapper->ContextProvider()
->GetCapabilities() ->GetCapabilities()
.texture_storage_image; .texture_storage_image;
const int max_texture_size = context_provider_wrapper->ContextProvider()
->GetCapabilities()
.max_texture_size;
const bool can_use_gmbs = const bool can_use_gmbs =
is_gpu_memory_buffer_image_allowed && is_gpu_memory_buffer_image_allowed &&
Platform::Current()->GetGpuMemoryBufferManager(); Platform::Current()->GetGpuMemoryBufferManager() &&
size.Width() < max_texture_size && size.Height() < max_texture_size;
const bool is_overlay_candidate = const bool is_overlay_candidate =
usage_wants_overlays && can_use_overlays; usage_wants_overlays && can_use_overlays;
......
...@@ -146,6 +146,7 @@ class CanvasResourceProviderTest : public Test { ...@@ -146,6 +146,7 @@ class CanvasResourceProviderTest : public Test {
auto* context_provider = context_provider_wrapper_->ContextProvider(); auto* context_provider = context_provider_wrapper_->ContextProvider();
auto capabilities = context_provider->GetCapabilities(); auto capabilities = context_provider->GetCapabilities();
capabilities.texture_storage_image = true; capabilities.texture_storage_image = true;
capabilities.max_texture_size = 1024;
static_cast<MockWebGraphisContext3DProviderWrapper*>(context_provider) static_cast<MockWebGraphisContext3DProviderWrapper*>(context_provider)
->SetCapabilities(capabilities); ->SetCapabilities(capabilities);
} }
......
...@@ -6522,8 +6522,6 @@ crbug.com/996597 [ Win ] css2.1/t0905-c5525-flthw-00-c-g.html [ Failure ] ...@@ -6522,8 +6522,6 @@ crbug.com/996597 [ Win ] css2.1/t0905-c5525-flthw-00-c-g.html [ Failure ]
crbug.com/994008 [ Linux Win ] http/tests/devtools/elements/styles-3/styles-computed-trace.js [ Pass Failure ] crbug.com/994008 [ Linux Win ] http/tests/devtools/elements/styles-3/styles-computed-trace.js [ Pass Failure ]
crbug.com/994034 [ Linux Win ] http/tests/devtools/elements/styles-3/styles-add-new-rule-colon.js [ Pass Failure ] crbug.com/994034 [ Linux Win ] http/tests/devtools/elements/styles-3/styles-add-new-rule-colon.js [ Pass Failure ]
crbug.com/994027 [ Linux Win ] http/tests/devtools/elements/styles-2/force-pseudo-state.js [ Pass Failure ] crbug.com/994027 [ Linux Win ] http/tests/devtools/elements/styles-2/force-pseudo-state.js [ Pass Failure ]
crbug.com/995142 crbug.com/900706 [ Mac ] fast/canvas/canvas-large-pattern.html [ Pass Failure ]
crbug.com/995142 crbug.com/900706 [ Mac ] virtual/gpu/fast/canvas/canvas-large-pattern.html [ Pass Failure ]
crbug.com/995142 crbug.com/900706 [ Mac ] virtual/gpu/fast/canvas/pixelated-canvas.html [ Pass Failure ] crbug.com/995142 crbug.com/900706 [ Mac ] virtual/gpu/fast/canvas/pixelated-canvas.html [ Pass Failure ]
crbug.com/995142 crbug.com/900706 [ Mac ] virtual/gpu/fast/canvas/pixelated-resize.html [ Pass Failure ] crbug.com/995142 crbug.com/900706 [ Mac ] virtual/gpu/fast/canvas/pixelated-resize.html [ Pass Failure ]
crbug.com/995142 crbug.com/900706 [ Mac ] virtual/gpu/fast/canvas/pixelated.html [ Pass Failure ] crbug.com/995142 crbug.com/900706 [ Mac ] virtual/gpu/fast/canvas/pixelated.html [ Pass Failure ]
......
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