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

Issue 754937 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Aug 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

High-latency laser pointer and highlighter when changing resolution or screen is rotated

Project Member Reported by reve...@chromium.org, Aug 12 2017

Issue description

Laser pointer and highlighter have low-latency at default rotation and screen resolution.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 15 2017

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

Labels: Merge-Request-61
Labels: -Merge-Request-61 Merge-Approved-61
Approving merge to M61 Chrome OS.
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 15 2017

Labels: -merge-approved-61 merge-merged-3163
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

Status: Fixed (was: Assigned)
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 25 2017

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

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 29 2017

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

Comment 8 by ketakid@google.com, Aug 30 2017

Labels: Merge-Approved-61
Approving merge to M61 Chrome OS.
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 30 2017

Labels: -merge-approved-61
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

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 30 2017

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 11 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment