Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REGRESSION(275377@main): [Win] GLContext::makeContextCurrent calls purecall for WebGL tests #25188

Conversation

fujii
Copy link
Contributor

@fujii fujii commented Feb 27, 2024

cc42f3b

REGRESSION(275377@main): [Win] GLContext::makeContextCurrent calls purecall for WebGL tests
https://bugs.webkit.org/show_bug.cgi?id=270186

Unreviewed crash fix.

275377@main introduced GLContextWrapper class to track the current GL
context. ~GLContextWrapper unsets the current context if it is `this`
context.

GraphicsContextGLTextureMapperANGLE class inherits both
GraphicsContextGLANGLE and GLContextWrapper classes in the following
order.

> class GraphicsContextGLTextureMapperANGLE : public GraphicsContextGLANGLE, public GLContextWrapper {

Thus, destructors are called in the following order

1. ~GraphicsContextGLTextureMapperANGLE
2. ~GLContextWrapper
3. ~GraphicsContextGLANGLE

~GLContextWrapper unsets the current context, but
~GraphicsContextGLANGLE makes `this` context current again.
GLContextWrapper base class should be before GraphicsContextGLANGLE.

* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:

Canonical link: https://commits.webkit.org/275402@main

2321db4

Misc iOS, tvOS & watchOS macOS Linux Windows
❌ πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  wincairo
❌ πŸ§ͺ bindings βœ… πŸ›  ios-sim βœ… πŸ›  mac-AS-debug   πŸ§ͺ wpe-wk2
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2   πŸ§ͺ api-mac   πŸ§ͺ api-wpe
  πŸ§ͺ ios-wk2-wpt   πŸ§ͺ mac-wk1 βœ… πŸ›  gtk
βœ… πŸ§ͺ api-ios   πŸ§ͺ mac-wk2   πŸ§ͺ gtk-wk2
βœ… πŸ›  tv   πŸ§ͺ mac-AS-debug-wk2   πŸ§ͺ api-gtk
βœ… πŸ›  tv-sim
βœ… πŸ›  watch
βœ… πŸ›  πŸ§ͺ unsafe-merge βœ… πŸ›  watch-sim

@fujii fujii self-assigned this Feb 27, 2024
@fujii fujii added the Platform Portability improvements and other general platform improvements not driven directly by site bugs. label Feb 27, 2024
@fujii fujii added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Feb 27, 2024
…recall for WebGL tests

https://bugs.webkit.org/show_bug.cgi?id=270186

Unreviewed crash fix.

275377@main introduced GLContextWrapper class to track the current GL
context. ~GLContextWrapper unsets the current context if it is `this`
context.

GraphicsContextGLTextureMapperANGLE class inherits both
GraphicsContextGLANGLE and GLContextWrapper classes in the following
order.

> class GraphicsContextGLTextureMapperANGLE : public GraphicsContextGLANGLE, public GLContextWrapper {

Thus, destructors are called in the following order

1. ~GraphicsContextGLTextureMapperANGLE
2. ~GLContextWrapper
3. ~GraphicsContextGLANGLE

~GLContextWrapper unsets the current context, but
~GraphicsContextGLANGLE makes `this` context current again.
GLContextWrapper base class should be before GraphicsContextGLANGLE.

* Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:

Canonical link: https://commits.webkit.org/275402@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/REGRESSION275377main-Win-GLContextmakeContextCurrent-calls-purecall-for-WebGL-tests branch from 2321db4 to cc42f3b Compare February 27, 2024 21:36
@webkit-commit-queue
Copy link
Collaborator

Committed 275402@main (cc42f3b): https://commits.webkit.org/275402@main

Reviewed commits have been landed. Closing PR #25188 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit cc42f3b into WebKit:main Feb 27, 2024
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Platform Portability improvements and other general platform improvements not driven directly by site bugs.
Projects
None yet
3 participants