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

Update Magnum to latest #2243

Merged
merged 3 commits into from
Oct 26, 2023
Merged

Update Magnum to latest #2243

merged 3 commits into from
Oct 26, 2023

Conversation

mosra
Copy link
Collaborator

@mosra mosra commented Oct 18, 2023

Motivation and Context

Update of the Magnum submodules containing changes from the last 4+ months.

  • The Basis plugins now use a Zstd submodule instead of a heavily outdated build bundled with Basis itself. It should be significantly faster and more secure also. (Actually, it seems that Zstd wasn't actually present in the repo before, which means UASTC files probably never worked? Now they will.)
  • Debug performance improvements for EnumSet, StridedArrayView, BitArray / BitArrayView and String containers.
  • It's now possible to call StringView::join() with a std::vector<std::string> argument 😱
  • Reduced dependency on STL headers, in particular <utility> and <tuple> in more places
  • Various fixes for compatibility with newer Emscripten versions
  • The Pointer class now checks at compile times that a type is defined on deletion, preventing resource leaks due to the destructor not being called. It also disallows conversion to non-trivial/non-virtual bases, where a resource leak would happen due to the derived class destructor not being called.
  • Math::angle() for quaternions was deprecated as it's actually returning a half-angle. Math::halfAngle() should be used now instead as it's named appropriately (and math.half_angle() in case of Python), an angle() function returning a full angle will be reintroduced after enough time passes to make sure it doesn't change behavior of existing code.
  • Trade::MeshData and the GltfImporter now support meshes with morph targets.
  • Working around a bug in Qualcomm Adreno drivers (Oculus Quest, e.g.) causing shaders to be silently miscompiled, not displaying anything
  • Adapted detection of certain WebGL extensions to changes in their names
  • Worked around some more cases where containers using T{} didn't work with classes that had a base with an explicit constructor.
  • Recognizing the NV_geometry_shader_passthrough extension
  • Near/far plane distance queries in Matrix4
  • Ability to draw a sub-range of an indexed GL::Mesh without having to create a temporary GL::MeshView
  • Platform::GlfwApplication now emits a viewport event when moving the windows across macOS displays with different DPI. Note that this isn't a complete support for DPI change events across all platforms, that's still quite far ahead.
  • GltfSceneConverter now preserves PBR materials even if they're empty, instead of removing them
  • BasisImporter and KtxImporter now warn if the file is missing orientation metadata, to aid with debugging asset errors
  • Improved test coverage for JpegImageConverter and PngImageConverter
  • Support for more legacy formats in DdsImporter, especially to be found in various FBX files
  • Emscripten support in OpenExrImporter and OpenExrImageConverter, in particular correct exception handling when a file fails to be parsed
  • Other changes, unrelated to Habitat.

How Has This Been Tested

📗

Replaces zstd bundled with Basis, as that one is severely outdated.
Using version 1.5.0 instead of the latest, as the latest doesn't build
on the ancient Emscripten version used on the CI.
The renamed function does the same as the old one (which is now
deprecated), it's just named appropriately because it always returned a
half angle.
@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Oct 19, 2023
Copy link
Contributor

@jturner65 jturner65 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glad to see the Near/Far plane calcs make it in to Habitat finally.

@jturner65 jturner65 merged commit 5808983 into main Oct 26, 2023
10 checks passed
@jturner65 jturner65 deleted the update-magnum28 branch October 26, 2023 15:13
rpartsey added a commit to facebookresearch/habitat-lab that referenced this pull request Oct 31, 2023
…cludes the above-mentioned better atlas packer)
rpartsey added a commit to facebookresearch/habitat-lab that referenced this pull request Nov 1, 2023
* decrease GlyphCache after facebookresearch/habitat-sim#2243 (which includes the above-mentioned better atlas packer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Do not delete this pull request or issue due to inactivity.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants