New issue
Advanced search Search tips

Issue 792734 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 754872



Sign in to add a comment

GLRendererCopier use leaves GLRenderer GL state inconsistent

Project Member Reported by m...@chromium.org, Dec 7 2017

Issue description

In GLRenderer, when GLRendererCopier::CopyFromTextureOrFramebuffer() is called, the latter modifies a wide variety of bindings and settings in the GL context. This manifests visually as a corrupted final drawing result for those frames where CopyOutputRequests were executed.

The solution is rather simple: A call to GLRenderer::ReinitializeGLState() after the copy will restore consistency between GLRenderer and its GL context.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 14 2017

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

commit 363d6c34f3518f7c1464b3072438b4509101938f
Author: Yuri Wiitala <miu@chromium.org>
Date: Thu Dec 14 03:08:57 2017

Fix display rendering corruption when executing scaled CopyOutputRequests.

GLRendererCopier modifies the GL state, making it inconsistent with that
known to GLRenderer. This change adds a RestoreGLState() call in
GLRenderer to restore consistency.

Bug:  792734 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ic4d08997fcba38a5edcd31ae8509b65ad2e2d6a8
Reviewed-on: https://chromium-review.googlesource.com/812957
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523993}
[modify] https://crrev.com/363d6c34f3518f7c1464b3072438b4509101938f/components/viz/service/display/copy_output_scaling_pixeltest.cc
[modify] https://crrev.com/363d6c34f3518f7c1464b3072438b4509101938f/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/363d6c34f3518f7c1464b3072438b4509101938f/components/viz/service/display/gl_renderer_copier.h

Comment 2 by m...@chromium.org, Dec 14 2017

Status: Fixed (was: Started)

Sign in to add a comment