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

[angle] Missing definition for building the GL backend on Windows causes libEGL crash #31954

Closed
amyspark opened this issue Jun 13, 2023 · 1 comment · Fixed by #32042
Closed
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@amyspark
Copy link

Describe the bug

The GL backend requires a few definitions on Windows, which are specified here:

list(APPEND ANGLE_DEFINITIONS
ANGLE_ENABLE_OPENGL
)

However, there's a critical one missing: https://github.com/google/angle/blob/main/src/libANGLE/renderer/gl/BUILD.gn#L19

This causes the attempt to initialize libEGL to crash with a nonsensical null pointer dereference, because the functions' addresses are never retrieved to begin with: https://bugs.chromium.org/p/angleproject/issues/detail?id=8195

Environment

  • OS: [e.g. Windows/Linux etc...] Windows 10 22H2
  • Compiler: MSVC 17.6.2

To Reproduce
Steps to reproduce the behavior:

  1. ./vcpkg install angle
  2. Build Qt 6 with patched ANGLE support from: https://github.com/amyspark/qtbase/tree/amyspark/angle.
  3. Build the hellogles3 example against the Qt and ANGLE libraries.

Expected behavior

When the app is launched with the QT_ANGLE_PLATFORM set to opengl, the app should pass libEGL initialization, but be unable to initialize a context. (The latter is a separate ANGLE bug).

Failure logs

See the associated crash on the ANGLE bug tracker.

Additional context

Currently, the app will crash in libEGL initialization.

@FrankXie05 FrankXie05 added the category:port-bug The issue is with a library, which is something the port should already support label Jun 13, 2023
@FrankXie05
Copy link
Contributor

@amyspark Could you please provide a minimal repro example?
I'll add these options to the GL backend to make sure it works. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants