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

Issue 725579 link

Starred by 6 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug-Regression

Blocking:
issue 535198



Sign in to add a comment

Severe flickering in shadertoy.com with CPU rendering path

Project Member Reported by capn@chromium.org, May 23 2017

Issue description

ShaderToy.com (and likely other WebGL pages) exhibits a red-blue channel flickering when rendering with SwiftShader (launch Chrome with --disable-gpu). 

This used to not happen. Bisect result:
https://chromium.googlesource.com/chromium/src/+log/d398f548f1929bf2a8307d02bc69065cd7cdc035..6c540a0cf80885708e1b5bb5f9c2c04082e6b0c1
I reverted https://codereview.chromium.org/2597933002 locally and the issue was gone.
 

Comment 1 by capn@chromium.org, May 23 2017

It's also fixed when unconditionally calling gl_->BindFramebuffer(GL_FRAMEBUFFER, fbo_); at the end of DrawingBuffer::ResolveIfNeeded(). I tried that after reading the behavioral change zmo@ expressed concern about in https://codereview.chromium.org/2597933002.
Capn, thank you for giving me so much useful info.
I had debugged this issue, GL_INVALID_OPERATION happens when readPixels, because framebuffer is binding to multisample_fbo_, It should bind to fbo_.

As my comments in https://codereview.chromium.org/2597933002, I think it is the callers' responsibility to manage the binding status, so I give another patch to handle this issue, https://codereview.chromium.org/2905633002/
@kbr & @zmo, please help to review this patch, thank you.

Comment 3 by kbr@chromium.org, Jun 1 2017

Blocking: 535198
Blocking the bug in which the original change was made. Seems like there were a couple of issues with that patch.

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 2 2017

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

commit f4f805f9fb47f434766195909c50a46b484ffdbb
Author: xinghua.cao <xinghua.cao@intel.com>
Date: Fri Jun 02 21:59:59 2017

Bind framebuffer to fbo_ object before readPixels, rather than multisample_fbo_

readPixels cannot get content from multisample_fbo_ directly, only from fbo_ whose
content is resolved from multisample_fbo_.

BUG= 725579 
TESTCASE=DrawingBufferSoftwareRenderingTest.framebufferBinding

Review-Url: https://codereview.chromium.org/2905633002
Cr-Commit-Position: refs/heads/master@{#476807}

[modify] https://crrev.com/f4f805f9fb47f434766195909c50a46b484ffdbb/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
[modify] https://crrev.com/f4f805f9fb47f434766195909c50a46b484ffdbb/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferSoftwareRenderingTest.cpp
[modify] https://crrev.com/f4f805f9fb47f434766195909c50a46b484ffdbb/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTest.cpp
[modify] https://crrev.com/f4f805f9fb47f434766195909c50a46b484ffdbb/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h

Comment 5 by kbr@chromium.org, Jun 2 2017

Cc: slangley@chromium.org ranjitkan@chromium.org xinghua....@intel.com nyerramilli@chromium.org msrchandra@chromium.org
 Issue 728092  has been merged into this issue.
xinghua, is this fixed now?
Hi, vmiura, the patch had been merged. It should be fixed now.

Comment 8 by capn@chromium.org, Jun 12 2017

Status: Verified (was: Assigned)
Thanks!
Components: -Internals>GPU>WebGL Blink>WebGL
Project Member

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

Labels: merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/33e2e848ee23a2d32462733a891f7274ac2290c0

commit 33e2e848ee23a2d32462733a891f7274ac2290c0
Author: Michael Moss <mmoss@google.com>
Date: Thu Aug 10 23:17:52 2017

Bind framebuffer to fbo_ object before readPixels, rather than multisample_fbo_

readPixels cannot get content from multisample_fbo_ directly, only from fbo_ whose
content is resolved from multisample_fbo_.

BUG= 725579 
TESTCASE=DrawingBufferSoftwareRenderingTest.framebufferBinding
TBR=xinghua.cao@intel.com

(cherry picked from commit f4f805f9fb47f434766195909c50a46b484ffdbb)

Review-Url: https://codereview.chromium.org/2905633002
Cr-Original-Commit-Position: refs/heads/master@{#476807}
Change-Id: I54007f9cb79aefdc842b6caa4e8389f30754d9d7
Reviewed-on: https://chromium-review.googlesource.com/611322
Reviewed-by: Michael Moss <mmoss@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#722}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/33e2e848ee23a2d32462733a891f7274ac2290c0/third_party/WebKit/Source/platform/graphics/gpu/DrawingBuffer.cpp
[modify] https://crrev.com/33e2e848ee23a2d32462733a891f7274ac2290c0/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferSoftwareRenderingTest.cpp
[modify] https://crrev.com/33e2e848ee23a2d32462733a891f7274ac2290c0/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTest.cpp
[modify] https://crrev.com/33e2e848ee23a2d32462733a891f7274ac2290c0/third_party/WebKit/Source/platform/graphics/gpu/DrawingBufferTestHelpers.h

Cc: brajkumar@chromium.org dalecur...@chromium.org
 Issue 760001  has been merged into this issue.

Sign in to add a comment