New issue
Advanced search Search tips

Issue 740630 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Jul 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 1
Type: Bug

Blocking:
issue 721463



Sign in to add a comment

error logging on startup: Not implemented reached in virtual void gl::GLSurface::SetRelyOnImplicitSync

Project Member Reported by skobes@chromium.org, Jul 10 2017

Issue description

Linux trunk build of Chrome prints the following to stderr on startup:

[24222:24222:0710/115714.030020:ERROR:gl_surface.cc(198)] Not implemented reached in virtual void gl::GLSurface::SetRelyOnImplicitSync(bool)
[24222:24222:0710/115714.104920:ERROR:gl_surface.cc(198)] Not implemented reached in virtual void gl::GLSurface::SetRelyOnImplicitSync(bool)
[24222:24222:0710/115714.154532:ERROR:gl_surface.cc(198)] Not implemented reached in virtual void gl::GLSurface::SetRelyOnImplicitSync(bool)
[24222:24222:0710/115714.164097:ERROR:gl_surface.cc(198)] Not implemented reached in virtual void gl::GLSurface::SetRelyOnImplicitSync(bool)

Maybe related to http://crrev.com/485294, which introduced this method.
 
Status: Started (was: Untriaged)
https://chromium-review.googlesource.com/c/565842/ to fix this.

Comment 2 by kbr@chromium.org, Jul 11 2017

Blocking: 721463
Labels: OS-Chrome
This occurs when running a chromeos build on Linux also and is very spammy/annoying.


Comment 4 by junov@chromium.org, Jul 11 2017

Blocking: 740344

Comment 5 by junov@chromium.org, Jul 11 2017

Labels: -Pri-2 Pri-1
Upgrading to P1 since this is blocking a P1 bug
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 11 2017

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

commit 4b5bb52e1923496b955a73f230d15b36746b33d3
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Tue Jul 11 22:38:06 2017

gl: Avoid calling SetRelyOnImplicitSync where not implemented.

crrev.com/485294 introduced a workaround that calls SetRelyOnImplicitSync
on a GLSurface (or a derived class).
The only GLSurface that supports the workaround is GbmSurfaceless
that is instantiated only on CrOS when using Ozone.

This CL avoid calling SetRelyOnImplicitSync since it causes to hit
a NOTIMPLEMENTED on platform where a GLSurface itself is
instantiated.

Bug:  740630 , 721463
Change-Id: Ieab8f8ce19234069f142d4e365419711848fed24
Reviewed-on: https://chromium-review.googlesource.com/565842
Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Steve Kobes <skobes@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485716}
[modify] https://crrev.com/4b5bb52e1923496b955a73f230d15b36746b33d3/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/4b5bb52e1923496b955a73f230d15b36746b33d3/ui/gl/gl_surface.cc
[modify] https://crrev.com/4b5bb52e1923496b955a73f230d15b36746b33d3/ui/gl/gl_surface.h
[modify] https://crrev.com/4b5bb52e1923496b955a73f230d15b36746b33d3/ui/ozone/platform/drm/gpu/gbm_surfaceless.cc
[modify] https://crrev.com/4b5bb52e1923496b955a73f230d15b36746b33d3/ui/ozone/platform/drm/gpu/gbm_surfaceless.h

Status: Fixed (was: Started)
 Issue 741859  has been merged into this issue.
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 14 2017

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

commit d776d20389b90d3f302e52639646eedef20a814e
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Fri Jul 14 02:15:49 2017

gl: Remove NOTIMPLEMENTED from GLSurface::SetRelyOnImplicitSync.

GLSurface::SetRelyOnImplicitSync was added to implement a workaround
on CrOS/Intel.

Initially that method was expected to be called only on GbmSurfaceless
that extends GLSurface.

https://chromium-review.googlesource.com/c/565842/ restricted the method
call only to platforms where the workaround is enabled.

Turns out that on Intel on CrOS we still allocate other types of
GLSurfaces. SurfacelessEGL is allocated as an offscreen surface.

In debug builds, where the target_os is chromeos and ozone is not used
we also end up allocating GLSurfaces that are not derived from
GbmSurfaceless, effectively calling GLSurface::SetRelyOnImplicitSync
and hitting the NOTIMPLEMENTED.

This CL removes NOTIMPLEMENTED from GLSurface::SetRelyOnImplicitSync
since it's fine in the scenarios described above to ignore the call
if the surface doesn't support it.

Bug:  740630  , 721463
Change-Id: Ib04bfff85bd90509d1f3028af93a2edc138fd129
Reviewed-on: https://chromium-review.googlesource.com/570740
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486634}
[modify] https://crrev.com/d776d20389b90d3f302e52639646eedef20a814e/ui/gl/gl_surface.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 19 2017

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

commit e1968ff59307b79103098ecd85cd486d03fc3ec7
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Wed Jul 19 17:15:46 2017

gl: Avoid calling SetRelyOnImplicitSync where not implemented.

crrev.com/485294 introduced a workaround that calls SetRelyOnImplicitSync
on a GLSurface (or a derived class).
The only GLSurface that supports the workaround is GbmSurfaceless
that is instantiated only on CrOS when using Ozone.

This CL avoid calling SetRelyOnImplicitSync since it causes to hit
a NOTIMPLEMENTED on platform where a GLSurface itself is
instantiated.

TBR=dcastagna@chromium.org

(cherry picked from commit 4b5bb52e1923496b955a73f230d15b36746b33d3)

Bug:  740630 , 721463
Change-Id: Ieab8f8ce19234069f142d4e365419711848fed24
Reviewed-on: https://chromium-review.googlesource.com/565842
Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Steve Kobes <skobes@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#485716}
Reviewed-on: https://chromium-review.googlesource.com/577948
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#652}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/e1968ff59307b79103098ecd85cd486d03fc3ec7/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/e1968ff59307b79103098ecd85cd486d03fc3ec7/ui/gl/gl_surface.cc
[modify] https://crrev.com/e1968ff59307b79103098ecd85cd486d03fc3ec7/ui/gl/gl_surface.h
[modify] https://crrev.com/e1968ff59307b79103098ecd85cd486d03fc3ec7/ui/ozone/platform/drm/gpu/gbm_surfaceless.cc
[modify] https://crrev.com/e1968ff59307b79103098ecd85cd486d03fc3ec7/ui/ozone/platform/drm/gpu/gbm_surfaceless.h

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 19 2017

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

commit 967059db387e17d0c6367be599246f9a704d4966
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Wed Jul 19 17:19:10 2017

gl: Remove NOTIMPLEMENTED from GLSurface::SetRelyOnImplicitSync.

GLSurface::SetRelyOnImplicitSync was added to implement a workaround
on CrOS/Intel.

Initially that method was expected to be called only on GbmSurfaceless
that extends GLSurface.

https://chromium-review.googlesource.com/c/565842/ restricted the method
call only to platforms where the workaround is enabled.

Turns out that on Intel on CrOS we still allocate other types of
GLSurfaces. SurfacelessEGL is allocated as an offscreen surface.

In debug builds, where the target_os is chromeos and ozone is not used
we also end up allocating GLSurfaces that are not derived from
GbmSurfaceless, effectively calling GLSurface::SetRelyOnImplicitSync
and hitting the NOTIMPLEMENTED.

This CL removes NOTIMPLEMENTED from GLSurface::SetRelyOnImplicitSync
since it's fine in the scenarios described above to ignore the call
if the surface doesn't support it.

TBR=dcastagna@chromium.org

(cherry picked from commit d776d20389b90d3f302e52639646eedef20a814e)

Bug:  740630  , 721463
Change-Id: Ib04bfff85bd90509d1f3028af93a2edc138fd129
Reviewed-on: https://chromium-review.googlesource.com/570740
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#486634}
Reviewed-on: https://chromium-review.googlesource.com/577949
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#654}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/967059db387e17d0c6367be599246f9a704d4966/ui/gl/gl_surface.cc

Comment 12 by junov@chromium.org, Jul 28 2017

Blocking: -740344

Sign in to add a comment