-
Notifications
You must be signed in to change notification settings - Fork 25
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
Upgrade the version of angle #69
Conversation
e29b44b
to
73e8825
Compare
After reviewing https://bugzilla.mozilla.org/show_bug.cgi?id=1578576 I think only libGLES needs to depend on libANGLE stuff as libEGL depends on libGLES anyway. |
9ee0862
to
3bba01a
Compare
This comment was marked as outdated.
This comment was marked as outdated.
We do not have libANGLE target anymore. But this commits are just testing/experimenting, currently I am working to build every gfx/angle/target as separate lib, so we can reuse even more. |
5569a02
to
c97c65a
Compare
c152b1c
to
68ed969
Compare
I am currently working on wr companion, linking works now, but some egl commands fail. |
I think this is ready for review! Companions PR are working so there shouldn't be any problems. |
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.
Nice work. I have a few comments, but this looks great in general.
return; | ||
} | ||
|
||
println!("build_lib: {lib:?}"); |
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 think this was left by accident?
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.
Not really as this is only printed if build script panics when executing, so it will help debugging.
@@ -293,15 +366,11 @@ fn fixup_path(path: &str) -> String { | |||
} | |||
|
|||
#[cfg(feature = "egl")] | |||
fn generate_bindings() { | |||
fn generate_gl_bindings() { | |||
println!("generate_gl_bindings"); |
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.
Another stray println?
build.rs
Outdated
for lib in build_data::GLESv2.use_libs { | ||
build_lib(&mut libs, &target, *lib); | ||
} |
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.
Instead of use_libs
here I think a more standard name might be library_dependencies
.
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.
This field is named after option from moz.build files.
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.
Looks good, but with some changes below before landing.
I have one more question about build-time. Looking at the actions in GitHub it seems the build is now several minutes slower. Any idea what is causing that?
build.rs
Outdated
.flag_if_supported("-msse2") // GNU | ||
.flag_if_supported("-arch:SSE2"); // MSVC | ||
if matches!(lib, Libs::ANGLE_COMMON) { | ||
// Hard-code lines like `if CONFIG['OS_ARCH'] == 'Darwin':` in moz.build files |
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.
Let's make this comment clearer then since we are modifying the code.
Actually, first runs when I refactored build.rs to what it is now, build times were better than on master, but next few runs do not provide such great timings (newer runs contained only small fixups). As noted in servo Windows runners have varying performances. Also given that new angle has a lot more code (the most important change being support for OpenGL), some changes in build time are expected (when WIP used minimal changed build.rs build times were 30min). I do plan to investigate sccache support for followup, so we should get better build times. |
Great. Thanks for the information. |
I would still like to wait for review from @jdm given the size of PR. |
jdm isn't able to review it, therefore we should just land it. |
Updates angle to 02755361e26d82768eb1d5f576145e19d7c265cd
LibANGLE is not separate target anymore, but now we compile all gfx/angle/targets as separate libs (to be able to reuse as much as possible and avoid recompilation) and then link them into final targets (translator, libGLES, libEGL). We also need zlib (but only on egl feature).
Due to amount of changes (some of them also in public api), we need to do version bump (already included in PR).
Given how big this change is it would be good to test it on all consumers: