Android OOP-D: Low bit depth GL surfaces not correctly created in OOP-D |
||||
Issue descriptionThe 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.
,
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
,
Jul 30
Is this fixed? Can we merge this back to M69?
,
Jul 30
,
Jul 31
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
,
Jul 31
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 |
||||
Comment 1 by ericrk@chromium.org
, Jul 27Labels: Android-OOP-D-Beta