-
Notifications
You must be signed in to change notification settings - Fork 6k
Roll SwiftShader, ANGLE, use SwANGLE in test harnesses #33814
Conversation
testing/run_tests.py
Outdated
| RunEngineBenchmarks(build_dir, engine_filter) | ||
|
|
||
| variants_to_skip = ['host_release', 'host_profile'] | ||
| <<<<<<< HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doh
| TestGLSurface::TestGLSurface(SkISize surface_size) | ||
| : surface_size_(surface_size) { | ||
| display_ = ::eglGetDisplay(EGL_DEFAULT_DISPLAY); | ||
| PFNEGLGETPLATFORMDISPLAYEXTPROC egl_get_platform_display_EXT = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In GL and EGL, that the proc address is available doesn't mean that the extension is available as well. Please perform an extensions check for EGL_EXT_platform_base perhaps and also for any Angle specific extensions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do
testing/test_gl_surface.cc
Outdated
| }; | ||
|
|
||
| display_ = egl_get_platform_display_EXT( | ||
| EGL_PLATFORM_ANGLE_ANGLE, reinterpret_cast<void*>(EGL_DEFAULT_DISPLAY), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this actually work? I would have expected this to be ::eglGetDisplay(EGL_DEFAULT_DISPLAY)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. But maybe it's cheating? I can use the get display call
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have to do it this way because of https://bugs.chromium.org/p/angleproject/issues/detail?id=7435
Added a comment with a link to that bug.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per the ANGLE folks this is actually expected behavior - the eglGetPlatformDisplayEXT call expects a native display pointer, which is not what is returned by eglGetDisplay.
|
Most recent issues:
|
|
I was able to run In |
So I had just tried the same and it's working, but something is still off with the way the test script runs from exe.unstrippes |
|
I think we probably also have to make that only happen for tests somehow. I can achieve the same with extensions in the test display setup, I think |
|
ANGLE and the Vulkan loader depend on directory paths and configuration files. To run
|
|
Yeah ANGLE is trying to load this from the module directory. I tried af ew different options to get it to load from the system but that didn't make things better. I finally went with just symlinking the files. I'm making the test display config specifically request headless rather than configuring angle for headless - just in case we want to use this outside of headless test contexts at some point and don't want to be confused about it. |
|
Landed and updated the buildroot dep. |
|
Gold has detected about 1 new digest(s) on patchset 49. |
|
Gold has detected about 2 new digest(s) on patchset 50. |
|
Gold has detected about 2 new digest(s) on patchset 51. |
|
1 similar comment
|
|
Gold has detected about 1 new digest(s) on patchset 55. |
|
I'm going to land this on red if the only failure is the currently failing Android test. I'm doing this because bots keep overwriting the license hash on me and making it difficult to get this landed, and this patch can't be affecting android tests. |
| deps = [ | ||
| "//flutter/shell/platform/embedder:embedder", | ||
| "//third_party/glfw", | ||
| "//third_party/vulkan-deps/vulkan-headers/src:vulkan_headers", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like after this landed, my gn would complain
ERROR at //flutter/examples/vulkan_glfw/BUILD.gn:15:5: Can't load input file.
"//third_party/vulkan-deps/vulkan-headers/src:vulkan_headers",
I looked under third_party and couldn't find a folder vulkan-deps. Maybe I am missing anything, would be great if someone can instruct on how I can resolve this error? Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to gclient sync again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that was faaaaaassssst, thanks a lot Dan!
Roll Swiftshader, ANGLE, and Vulkan deps.
Updates license bot for new locations of licenses and new files
in roll.
Converts unit test harnesses to use SwANGLE, which is the
supported way of using SwiftShader as a software backend for GLES.
Updates goldens due to swiftshader changes.
Fixes up include paths to avoid directly including third_party
code by that name, which is unlikely to work in other build
environments.
Includes upstream patches to ANGLE and SwiftShader to build in our
windows environments, as well as patches to Skia to support
defining the location of VulkanMemoryAllocator and a patch to ANGLE
to support opting into a newer version of VMA.
fixes flutter/flutter#90425