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

Issue 786591 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 785008



Sign in to add a comment

Make oop raster creation always succeed

Project Member Reported by enne@chromium.org, Nov 17 2017

Issue description

Currently, oop raster can be requested by the client but the GrContext can fail to be created in the service.

See: https://cs.chromium.org/chromium/src/gpu/command_buffer/service/gles2_cmd_decoder.cc?sq=package:chromium&l=3794

This makes it complicated to know whether or not oop raster is on or not (see  issue 785008 ) and I think will muddy the waters of any finch trial  if sometimes it gets turned off.  It would be quite nice if we could make this always succeed when requested (assuming that it only is requested when ganesh would be requested).

The essential problem here is that Skia and Chrome maintain different blacklists.  Skia may fail to create a GrContext while Chrome thinks it is ok to do so.

Looking for answers from piman/bsalomon here in terms of design ideas.  piman suggested offhand that maybe we need to add a capabilities "correctness fuzzer" to make sure that Skia and Chrome always agree.  Maybe there's some way to expose/share this code as well.
 

Comment 1 by piman@chromium.org, Nov 18 2017

Labels: -Pri-2 Pri-1
Owner: piman@chromium.org
I'll take this. 2 things we should do:
1- harden the logic so that skia and chrome agree. Add a test and/or fuzzer to check the version x enabled extensions space.
2- we could at the very least test this early and blacklist OOP raster globally (or GPU raster even) if they don't agree. Big hammer, but would simplify logic.

Comment 2 by bsalo...@google.com, Nov 20 2017

I'm curious about the cases where GrContext creation fails. I'd expect it to fail if the GrGLInterface is incomplete or if glGetString returned null or something unexpected. Otherwise, I'd expect it to succeed.

Comment 3 by piman@chromium.org, Nov 20 2017

It's effectively "GrGLInterface is incomplete" I guess - Chrome and Skia sometimes have different logic to decide whether certain functions should be there (e.g. support different extensions or driver versions), so there may be a mismatch.

Another mitigation could be to whitelist (instead of blacklist) extensions we pass to Skia, only exposing the ones we handle in the gl bindings. It may be overly conservative though, because there are enum-only extensions, and the gl bindings code doesn't know (or care) about those.

Comment 4 by piman@chromium.org, Jan 26 2018

Status: Assigned (was: Available)
Pinging self.

Comment 5 by piman@chromium.org, Mar 2 2018

Pinging self again.
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 21 2018

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

commit 5158df0da686ded660a6400ab3f7239b3a9992e8
Author: Antoine Labour <piman@chromium.org>
Date: Wed Mar 21 01:37:14 2018

Fix glGetDebugMessageLog bindings

It returns GLuint, not void.

Bug: 786591
Cq-Include-Trybots: luci.chromium.try:linux_optional_gpu_tests_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I5d684c194d121cc0924ee25e377e49e18178cde4
Reviewed-on: https://chromium-review.googlesource.com/967568
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544612}
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/generate_bindings.py
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_bindings_api_autogen_gl.h
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_bindings_autogen_gl.cc
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_bindings_autogen_gl.h
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_bindings_autogen_mock.cc
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_bindings_autogen_mock.h
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_mock_autogen_gl.h
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_stub_autogen_gl.cc
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/gl_stub_autogen_gl.h
[modify] https://crrev.com/5158df0da686ded660a6400ab3f7239b3a9992e8/ui/gl/init/create_gr_gl_interface.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 2 2018

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

commit 06ee9d64b337984fe04cfe946c2f82c9319132b1
Author: Antoine Labour <piman@chromium.org>
Date: Mon Apr 02 19:57:50 2018

Fix GL debug message callback type in CreateGrGLInterface

The GLDEBUGPROC type was fixed in mesa by https://crrev.com/c/969083 so
we can fix the skia binding code to not require a reinterpret_cast.

Bug: 786591
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;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4d36d115b1423a353af81c69a18d743007cebd85
Reviewed-on: https://chromium-review.googlesource.com/985801
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547497}
[modify] https://crrev.com/06ee9d64b337984fe04cfe946c2f82c9319132b1/ui/gl/init/create_gr_gl_interface.cc

Owner: backer@chromium.org
I'll take a look at getting a reliable signal to the renderer that OOP-R is a go (i.e. we can create a GrContext). As per offline conversation, I'll leave "make sure Chrome and Skia agree on extensions" to piman@.
Project Member

Comment 10 by bugdroid1@chromium.org, May 30 2018

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

commit 0af509966a02a06be5d7453bf8d69b4b411ab70c
Author: Jonathan Backer <backer@chromium.org>
Date: Wed May 30 16:05:07 2018

Move gpu_preferences to gpu/config/

GpuPreferences is a service side configuration structure. I'm moving it
to ungate future work (https://crrev.com/c/858157) where we probe
some of the GpuPreferences while we probe GPUInfo.

I moved two constants into GpuPreferences to avoid a dependency cycle.

TBR=boliu@chromium.org,piman@chromium.org,tsepez@chromium.org,liberato@chromium.org,joedow@chromium.org

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
Change-Id: I34b4d17e523f63c355dea48ec5fcc2d866f19059
Bug: 786591
Reviewed-on: https://chromium-review.googlesource.com/1075668
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Jonathan Backer <backer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562855}
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/chrome/gpu/chrome_content_gpu_client.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/components/arc/video_accelerator/DEPS
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/components/arc/video_accelerator/gpu_arc_video_decode_accelerator.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/components/arc/video_accelerator/gpu_arc_video_encode_accelerator.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/components/viz/service/display_embedder/DEPS
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/components/viz/service/display_embedder/skia_output_surface_impl_on_gpu.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/components/viz/service/display_embedder/viz_process_context_provider.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/components/viz/service/gl/gpu_service_impl.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/content/gpu/gpu_child_thread.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/content/gpu/gpu_service_factory.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/content/gpu/in_process_gpu_thread.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/content/gpu/in_process_gpu_thread.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/content/public/browser/gpu_utils.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/common/constants.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/BUILD.gn
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/DEPS
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/context_group.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/context_group.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/mailbox_manager_factory.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/memory_program_cache.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/program_manager.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/program_manager_unittest.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/raster_decoder_unittest_base.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/service/shader_translator_cache.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/config/BUILD.gn
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/config/DEPS
[rename] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/config/gpu_preferences.cc
[rename] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/config/gpu_preferences.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/gles2_conform_support/egl/context.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/common/gpu_preferences.mojom
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/common/gpu_preferences.typemap
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/common/gpu_preferences_struct_traits.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/common/gpu_preferences_util.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/host/BUILD.gn
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/host/shader_disk_cache.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/service/direct_composition_surface_win_unittest.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/service/gpu_channel_manager.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/service/gpu_init.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/service/gpu_vsync_provider_unittest_win.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/gpu/ipc/service/image_transport_surface_win.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/android/android_video_decode_accelerator.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/android/media_codec_video_decoder.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/android/media_codec_video_decoder_unittest.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/gpu_video_decode_accelerator_factory.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/gpu_video_decode_accelerator_factory.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/gpu_video_encode_accelerator_factory.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/ipc/service/gpu_video_decode_accelerator.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/ipc/service/vda_video_decoder.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/video_decode_accelerator_unittest.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/windows/d3d11_video_decoder.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/windows/dxva_video_decode_accelerator_win.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/gpu/windows/dxva_video_decode_accelerator_win.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/mojo/services/gpu_mojo_media_client.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/mojo/services/media_service_factory.h
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/mojo/services/mojo_video_encode_accelerator_service_unittest.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/media/mojo/test/mojo_video_encode_accelerator_integration_test.cc
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/remoting/codec/DEPS
[modify] https://crrev.com/0af509966a02a06be5d7453bf8d69b4b411ab70c/remoting/codec/webrtc_video_encoder_gpu.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 4 2018

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

commit a57031bb7aa798eae315a81face9b6b95300ca84
Author: Jonathan Backer <backer@chromium.org>
Date: Mon Jun 04 15:44:32 2018

Plumb oop_rasterization_supported

Check if we can create a GrContext early in GPU process initialization.
Then plumb if that was successful to clients via gpu::GPUInfo and on the
service side through gpu::GpuPreferences.

This has been tested to work on Android and Linux. It does not yet work
on OSX because  https://crbug.com/222934  --- we will revisit that bug
in a later CL.

Notable changes:

- render_thread_impl.cc: Use GPUInfo to determine if we should enable
  OOP-R client side. This has the service check for the
  --enable-oop-rasterization baked in. So added a TODO to remove the
  command line check.

- feature_info.cc: Determine whether to support
  chromium_raster_transport from GpuPreferences instead of command line

- gpu_info_collector.cc: Create a GrContext early to check if we have
  support for OOP-R. Adjust GPUInfo and GpuPreferences appropriately.

Everything else is plumbing.

Bug: 786591
TBR: tapted@chromium.org
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
Change-Id: Iccd7f48526502e398336a05b5fe437bae468da38
Reviewed-on: https://chromium-review.googlesource.com/858157
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564102}
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/android_webview/browser/deferred_gpu_command_service.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/components/viz/service/gl/gpu_service_impl.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/components/viz/service/gl/gpu_service_impl.h
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/content/common/sandbox_init_mac.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/content/test/content_test_suite.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/buffer_manager_unittest.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/feature_info_unittest.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/gpu_fence_manager_unittest.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/raster_decoder_unittest_base.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/service/texture_manager_unittest.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/tests/fuzzer_main.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/tests/gl_test_utils.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/command_buffer/tests/gl_unittest.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/DEPS
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info.h
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector.h
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector_android.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector_fuchsia.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector_linux.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector_mac.mm
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector_unittest.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_info_collector_win.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_util.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_util.h
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/config/gpu_util_unittest.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/gles2_conform_support/egl/thread_state.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/ipc/common/gpu_info.mojom
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/ipc/common/gpu_info_struct_traits.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/ipc/common/gpu_info_struct_traits.h
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/ipc/service/gles2_command_buffer_stub.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/ipc/service/gpu_init.cc
[modify] https://crrev.com/a57031bb7aa798eae315a81face9b6b95300ca84/gpu/ipc/service/raster_command_buffer_stub.cc

Cc: backer@chromium.org
Owner: ----
Status: Available (was: Assigned)
I've done all that I had planned to do. The current state of the world is:
- create a GrContext early to see if we have the GL extensions required to support OOP-R
- check to see if we've blacklisted GPU raster

If we can create GrContext and we haven't blacklisted GPU raster, we will pass to the client via GpuFeatureInfo that we support OOP-R.

There is more work that could be done (e.g. check that blacklists are consistent), but I'll let others decide if they want to pursue it.
Labels: -Pri-1 Pri-2
I'm going to drop the priority on the remaining work to P2.

Sign in to add a comment