New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 868476 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 31
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocking:
issue 732555
issue 832243



Sign in to add a comment

Android OOP-D: Low bit depth GL surfaces not correctly created in OOP-D

Project Member Reported by ericrk@chromium.org, Jul 27

Issue description

The logic to create low-bit-depth surfaces on low end devices was not present in InProcessCommandBuffer, just Gles2CommandBufferStub. This caused problems on OOP-D, as we use the InProcessCommandBuffer.

We need to unify these code paths.
 
Blocking: 732555
Labels: Android-OOP-D-Beta
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 27

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

commit 304eff1e8f0fbe383e4d6455ac87ec301fa71ee3
Author: Eric Karl <ericrk@chromium.org>
Date: Fri Jul 27 21:13:35 2018

Android OOP-D: Add low-bit-depth handling to InProcessCommandBuffer

InProcessCommandBuffer doesn't currently handle dropping to 565
low-bit-depth on low-end Android. This CL adds this logic.

To safely handle low bit depth and virtualized contexts, we need
to know whether our target bit depth is compatible with the default
offscreen context. This change passes the surface format of this
context through CommandBufferTaskExecutor to allow this to be queried
from InProcessCommandBuffer.

Finally, as error-handling for the creation of the offscreen surface
is currently a bit scattered, this CL simplifies things by creating
this surface during init and passing it in to GpuChannelManager, so
any callers can just assume success.

BUG= 868476 

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I8ffaa05e2ebbf6e910e76a8ef75095edf1cd3fe5
Reviewed-on: https://chromium-review.googlesource.com/1150966
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Eric Karl <ericrk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578796}
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/cc/test/pixel_test.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/components/viz/service/gl/gpu_service_impl.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/components/viz/service/gl/gpu_service_impl.h
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/components/viz/service/main/viz_main_impl.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/command_buffer_task_executor.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/command_buffer_task_executor.h
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/gpu_in_process_thread_service.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/gpu_in_process_thread_service.h
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/service/gles2_command_buffer_stub.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/service/gpu_channel_manager.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/service/gpu_channel_manager.h
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/service/gpu_channel_test_common.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/304eff1e8f0fbe383e4d6455ac87ec301fa71ee3/gpu/ipc/service/gpu_init.h

Is this fixed? Can we merge this back to M69?
Labels: Merge-Request-69
Project Member

Comment 5 by sheriffbot@chromium.org, Jul 31

Labels: -Merge-Request-69 Hotlist-Merge-Approved Merge-Approved-69
Your change meets the bar and is auto-approved for M69. Please go ahead and merge the CL to branch 3497 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Hotlist-Merge-Approved -Merge-Approved-69
Status: Fixed (was: Started)
Going to disable this trial for low-end-android for 68, rather than merge this and 2-3 other follow-ups which would be needed.

Sign in to add a comment