New issue
Advanced search Search tips

Issue 883362 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 25
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 839970
issue 888122



Sign in to add a comment

3D lowLatency canvas drawing on nocturne is upside down

Project Member Reported by mcasas@chromium.org, Sep 12

Issue description

Got a nocturne with 71.3544.0 (dev) on a 11059.0.0 OS, and I'm running
the 3D scribbling demo in https://codepen.io/miguelao/pen/WKZaqd

(chrome://flags/#enable-experimental-web-platform-features
and chrome://flags/#tint-gl-composited-content flags are enabled).
The canvas gets correctly promoted to overlay (doesn't show tint),
but the drawing of the lines is upside down, i.e. opposite of the
finger/pointer movements.
Removing the lowLatency:true part of the codepen makes the bug go
away (writing is correct).
LowLatency 2D is correct: https://codepen.io/miguelao/pen/ZjJNNw
 
Status: Assigned (was: Unconfirmed)
Labels: -Pri-3 ReleaseBlock-Stable LowLatency M-71 Pri-1
Status: Unconfirmed (was: Assigned)
tbuckley@ could you confirm this is the case? It's strange that
nocturne has this issue when e.g. nautilus doesn't (same code,
same hw).
Status: Assigned (was: Unconfirmed)
This is happening on nautilus w/ developer build (ToT) 71.0.3555.0,
11038.0.0 platform. It has regressed! How did it happen ? (It's not OOP-R)
I am able to reproduce the flip for 3D lowLatency. Setting {lowLatency: false} shows it in the correct orientation.

Device: Eve
Chrome: 71.0.3552.6 canary
OS: 11071.0.0
Cc: wfurr@google.com
This might have regressed because a few weeks ago ( crbug.com/869922#c6 )
I think it was working. Will investigate asap.
Owner: frkoenig@chromium.org
If I comment the lines [1]

      if (gl->is_origin_top_left_)
        flip_y = !flip_y;

the upside-down bug disappears with e.g. the codepen demo [0],
while the original bug that IIUC caused these lines to be 
landed ( crbug.com/872845  : keep.google.com - draw strokes -
pinch to zoom out - move the zoomed out canvas around) is
not reintroduced, so I guess we should take a look at 
what's happening here.

Assigning to frkoenig@ for further investigation since those
lines affect e.g.  crbug.com/877159 


[0] https://codepen.io/miguelao/full/WKZaqd

[1] https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc?type=cs&q=WebGLRenderingContextBase::TexImageViaGPU&sq=package:chromium&g=0&l=5201
Cc: mcasas@chromium.org
Addendum to #7: I also had to modify the line [1] by
s/is_origin_top_left_/false/, essentially undoing the 
CL reviewed in crrev.com/c/1194787.

https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc?type=cs&q=CopyToPlatformTexture&sq=package:chromium&g=0&l=1606
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 21

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

commit 82b858256ed2d4f56d5c5081614474de726fd89f
Author: Fritz Koenig <frkoenig@chromium.org>
Date: Fri Sep 21 16:45:20 2018

webgl: LowLatency and toDataURL work nicely together

There is a lot of flipping going on when using the
GL_MESA_framebuffer_flip_y extension.  toDataURL and
LowLatency have competing requirments when calling
CopyToPlatformTexture.

https://codepen.io/miguelao/full/WKZaqd
https://www.khronos.org/registry/webgl/sdk/tests/conformance/canvas/to-data-url-test.html

BUG= 883362 

Change-Id: Iafe11c23591a79f696b652a57f2d083258d3aa9c
Reviewed-on: https://chromium-review.googlesource.com/1237248
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Commit-Queue: Fritz Koenig <frkoenig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593223}
[modify] https://crrev.com/82b858256ed2d4f56d5c5081614474de726fd89f/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc

Blocking: 888122
@frkoenig with the CL in #10 should this be fixed on ToT?
Status: Fixed (was: Assigned)
The CL in #10 fixes this.

Sign in to add a comment