Copy directly from GPU memory into shared memory and ship it across to the browser process to avoid an extra copy if viz is out of process.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d commit e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d Author: Saman Sami <samans@chromium.org> Date: Fri Apr 13 19:58:19 2018 Extract mojom for SkImageInfo out of SkBitmap's mojom I would like to be able to send a shared memory handle + SkImageInfo and construct an SkBitmap on the receiver's side. TBR=reed@google.com Bug: 831744 Cq-Include-Trybots: luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win10_chromium_x64_rel_ng Change-Id: If8be0cd2d876100f2430aed6195263cfcc415213 Reviewed-on: https://chromium-review.googlesource.com/1007767 Commit-Queue: Saman Sami <samans@chromium.org> Reviewed-by: Mike Reed <reed@chromium.org> Reviewed-by: Miguel Casas <mcasas@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Cr-Commit-Position: refs/heads/master@{#550732} [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/services/shape_detection/android/java/src/org/chromium/shape_detection/BitmapUtils.java [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionImpl.java [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/services/shape_detection/android/javatests/src/org/chromium/shape_detection/FaceDetectionImplTest.java [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/services/shape_detection/android/javatests/src/org/chromium/shape_detection/TestUtils.java [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/services/shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/BUILD.gn [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/bitmap.mojom [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/bitmap_skbitmap_struct_traits.h [add] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/image_info.mojom [add] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/image_info_struct_traits.cc [add] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/image_info_struct_traits.h [add] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/skimageinfo.typemap [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/test/struct_traits_unittest.cc [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/test/traits_test_service.mojom [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/skia/public/interfaces/typemaps.gni [modify] https://crrev.com/e4d5f8a73a7222bacafa7b02c5ef51e06f453d7d/third_party/WebKit/LayoutTests/shapedetection/resources/worker.js
Looks like this got fixed a long time ago: Just re-confirmed that copy_output_result.mojom uses skia.mojom.Bitmap, which will use shmem for shipping large SkBitmaps.
Comment 1 by samans@chromium.org
, Apr 11 2018Status: Assigned (was: Untriaged)