Laser pointer and highlighter have low-latency at default rotation and screen resolution.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8f80e302cddbd5e7b078039f7c9e156487bc5d4d commit 8f80e302cddbd5e7b078039f7c9e156487bc5d4d Author: David Reveman <reveman@chromium.org> Date: Tue Aug 15 19:57:26 2017 ash: Move handling of root window transforms from compositor to fast ink. For fast ink it's preferred to handle all transforms as part of fast ink drawing as this increses the configurations for which we can take advantage of HW overlays. This allows the fastink code to use HW overlays and low-latency rendering for all resolutions and all rotations. BUG= 754937 TEST=manually verified that laser pointer and highlighter get low-latency rendering independent of screen resolution and rotation. Change-Id: Ifd451d80407c5ac6f39bb7705b7ca0512a9d4768 Reviewed-on: https://chromium-review.googlesource.com/611675 Reviewed-by: Vladislav Kaznacheev <kaznacheev@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Commit-Queue: David Reveman <reveman@chromium.org> Cr-Commit-Position: refs/heads/master@{#494508} [modify] https://crrev.com/8f80e302cddbd5e7b078039f7c9e156487bc5d4d/ash/fast_ink/fast_ink_view.cc [modify] https://crrev.com/8f80e302cddbd5e7b078039f7c9e156487bc5d4d/ash/fast_ink/fast_ink_view.h [modify] https://crrev.com/8f80e302cddbd5e7b078039f7c9e156487bc5d4d/ash/highlighter/highlighter_view.cc [modify] https://crrev.com/8f80e302cddbd5e7b078039f7c9e156487bc5d4d/ash/highlighter/highlighter_view.h [modify] https://crrev.com/8f80e302cddbd5e7b078039f7c9e156487bc5d4d/ash/laser/laser_pointer_view.cc [modify] https://crrev.com/8f80e302cddbd5e7b078039f7c9e156487bc5d4d/ash/laser/laser_pointer_view.h
Approving merge to M61 Chrome OS.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dbd3c3ed4d19ddf435bfe0099c644a328c7484be commit dbd3c3ed4d19ddf435bfe0099c644a328c7484be Author: David Reveman <reveman@chromium.org> Date: Tue Aug 15 21:17:02 2017 ash: Move handling of root window transforms from compositor to fast ink. For fast ink it's preferred to handle all transforms as part of fast ink drawing as this increses the configurations for which we can take advantage of HW overlays. This allows the fastink code to use HW overlays and low-latency rendering for all resolutions and all rotations. BUG= 754937 TEST=manually verified that laser pointer and highlighter get low-latency rendering independent of screen resolution and rotation. TBR=reveman@chromium.org (cherry picked from commit 8f80e302cddbd5e7b078039f7c9e156487bc5d4d) Change-Id: Ifd451d80407c5ac6f39bb7705b7ca0512a9d4768 Reviewed-on: https://chromium-review.googlesource.com/611675 Reviewed-by: Vladislav Kaznacheev <kaznacheev@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Commit-Queue: David Reveman <reveman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#494508} Reviewed-on: https://chromium-review.googlesource.com/616013 Reviewed-by: David Reveman <reveman@chromium.org> Cr-Commit-Position: refs/branch-heads/3163@{#585} Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528} [modify] https://crrev.com/dbd3c3ed4d19ddf435bfe0099c644a328c7484be/ash/fast_ink/fast_ink_view.cc [modify] https://crrev.com/dbd3c3ed4d19ddf435bfe0099c644a328c7484be/ash/fast_ink/fast_ink_view.h [modify] https://crrev.com/dbd3c3ed4d19ddf435bfe0099c644a328c7484be/ash/highlighter/highlighter_view.cc [modify] https://crrev.com/dbd3c3ed4d19ddf435bfe0099c644a328c7484be/ash/highlighter/highlighter_view.h [modify] https://crrev.com/dbd3c3ed4d19ddf435bfe0099c644a328c7484be/ash/laser/laser_pointer_view.cc [modify] https://crrev.com/dbd3c3ed4d19ddf435bfe0099c644a328c7484be/ash/laser/laser_pointer_view.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/091dbbd5cf6f0369b1403829935dc2361ca48ec7 commit 091dbbd5cf6f0369b1403829935dc2361ca48ec7 Author: David Reveman <reveman@chromium.org> Date: Fri Aug 25 15:25:24 2017 ash: Remove fast ink quad rect rounding hack. This is not needed after removing off-by-one pixel translation added by ash when rotating the screen: https://crrev.com/291ba8bd3f0a0ffda2bb90f3c56fa73b147cc00e BUG= 754937 TBR=kaznacheev@chromium.org Change-Id: Ic82980dda8fe8f1fbe0d6a542e48cf011a08b835 Reviewed-on: https://chromium-review.googlesource.com/635604 Commit-Queue: David Reveman <reveman@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Cr-Commit-Position: refs/heads/master@{#497414} [modify] https://crrev.com/091dbbd5cf6f0369b1403829935dc2361ca48ec7/ash/fast_ink/fast_ink_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0c72efff3f467404c6adb4831fb0acd268e6700b commit 0c72efff3f467404c6adb4831fb0acd268e6700b Author: David Reveman <reveman@chromium.org> Date: Tue Aug 29 21:16:12 2017 ui: Fix overlay clip rect handling. This removes quad_rect_in_target_space in favor of using display_rect, which is always the same except for it not being rounded to the enclosing rect. This allows the platform specific code to do a clip rect check that is consistent with how display_rect rounding is handled. For Ozone this means using gfx::ToNearestRect after verifying that display rect approximates to an integer rectangle. BUG= 754937 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I2ab96eab91aa6ce585cad543ec350240a5b8206a Reviewed-on: https://chromium-review.googlesource.com/635603 Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Commit-Queue: David Reveman <reveman@chromium.org> Cr-Commit-Position: refs/heads/master@{#498230} [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/cc/output/direct_renderer.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/cc/output/overlay_candidate.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/cc/output/overlay_candidate.h [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/cc/output/overlay_unittest.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/components/viz/service/display_embedder/compositor_overlay_candidate_validator_ozone.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/ui/ozone/demo/surfaceless_gl_renderer.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/ui/ozone/platform/drm/common/drm_util_unittest.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/ui/ozone/platform/drm/host/drm_overlay_manager.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/ui/ozone/public/interfaces/overlay_surface_candidate.mojom [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/ui/ozone/public/interfaces/overlay_surface_candidate_struct_traits.h [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/ui/ozone/public/interfaces/overlay_surface_candidate_struct_traits_unittest.cc [modify] https://crrev.com/0c72efff3f467404c6adb4831fb0acd268e6700b/ui/ozone/public/overlay_surface_candidate.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8b11a3b656fef15b42e0ac4c8f7ae59ce1a991d3 commit 8b11a3b656fef15b42e0ac4c8f7ae59ce1a991d3 Author: David Reveman <reveman@chromium.org> Date: Wed Aug 30 21:59:58 2017 ash: Remove fast ink quad rect rounding hack. This is not needed after removing off-by-one pixel translation added by ash when rotating the screen: https://crrev.com/291ba8bd3f0a0ffda2bb90f3c56fa73b147cc00e BUG= 754937 TBR=kaznacheev@chromium.org, reveman@chromium.org (cherry picked from commit 091dbbd5cf6f0369b1403829935dc2361ca48ec7) Change-Id: Ic82980dda8fe8f1fbe0d6a542e48cf011a08b835 Reviewed-on: https://chromium-review.googlesource.com/635604 Commit-Queue: David Reveman <reveman@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#497414} Reviewed-on: https://chromium-review.googlesource.com/644526 Cr-Commit-Position: refs/branch-heads/3163@{#1011} Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528} [modify] https://crrev.com/8b11a3b656fef15b42e0ac4c8f7ae59ce1a991d3/ash/fast_ink/fast_ink_view.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/03cc0c6cc8aeb16a6e42625e5314eadf733938d4 commit 03cc0c6cc8aeb16a6e42625e5314eadf733938d4 Author: David Reveman <reveman@chromium.org> Date: Wed Aug 30 22:06:22 2017 ui: Fix overlay clip rect handling. This removes quad_rect_in_target_space in favor of using display_rect, which is always the same except for it not being rounded to the enclosing rect. This allows the platform specific code to do a clip rect check that is consistent with how display_rect rounding is handled. For Ozone this means using gfx::ToNearestRect after verifying that display rect approximates to an integer rectangle. BUG= 754937 TBR=reveman@chromium.org (cherry picked from commit 0c72efff3f467404c6adb4831fb0acd268e6700b) Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I2ab96eab91aa6ce585cad543ec350240a5b8206a Reviewed-on: https://chromium-review.googlesource.com/635603 Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Commit-Queue: David Reveman <reveman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#498230} Reviewed-on: https://chromium-review.googlesource.com/644392 Reviewed-by: David Reveman <reveman@chromium.org> Cr-Commit-Position: refs/branch-heads/3163@{#1012} Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528} [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/cc/output/direct_renderer.cc [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/cc/output/overlay_candidate.cc [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/cc/output/overlay_candidate.h [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/cc/output/overlay_unittest.cc [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/components/viz/service/display_embedder/compositor_overlay_candidate_validator_ozone.cc [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/ui/ozone/demo/surfaceless_gl_renderer.cc [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/ui/ozone/platform/drm/host/drm_overlay_manager.cc [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/ui/ozone/public/interfaces/overlay_surface_candidate.mojom [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/ui/ozone/public/interfaces/overlay_surface_candidate_struct_traits.h [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/ui/ozone/public/interfaces/overlay_surface_candidate_struct_traits_unittest.cc [modify] https://crrev.com/03cc0c6cc8aeb16a6e42625e5314eadf733938d4/ui/ozone/public/overlay_surface_candidate.h
Comment 1 by bugdroid1@chromium.org
, Aug 15 2017