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

Directly compress mip maps from Basis Universal #59540

Closed
wants to merge 1 commit into from

Conversation

fire
Copy link
Member

@fire fire commented Mar 26, 2022

Part of: godotengine/godot-proposals#4271

Discussed with @reduz:

Only support basisu with uastc.

It has been veto'd to not include all possible platforms at the same time. Do not store all of etc2, dxt5, bptc at the same time due to excess file size.


To increase efficiency enable compressed mip maps from Basis Universal.
To improve quality enable UASTC RDO compression.
To keep compatibility use the first mip of the previous internal Godot format.

This does a trick where I use only the first image from now on to read its mipmaps.


Part of the V-Sekai group. https://github.com/v-sekai

@fire fire requested a review from reduz March 26, 2022 09:26
@fire fire requested a review from a team as a code owner March 26, 2022 09:26
@YeldhamDev YeldhamDev added this to the 4.0 milestone Mar 26, 2022
@fire fire force-pushed the basis-universal-mips branch 2 times, most recently from c1310fd to 5ec9aff Compare March 26, 2022 19:48
@fire fire marked this pull request as draft March 26, 2022 20:11
@fire fire force-pushed the basis-universal-mips branch from 5ec9aff to 8916a04 Compare March 26, 2022 20:38
@fire fire force-pushed the basis-universal-mips branch from 8916a04 to 2b7a458 Compare May 19, 2022 16:24
@fire fire force-pushed the basis-universal-mips branch from 2b7a458 to 4490b42 Compare June 28, 2022 21:36
@fire fire changed the title Misc improvements to Basis Universal. Directly compresse mip maps from Basis Universal Jun 28, 2022
@fire fire marked this pull request as ready for review June 28, 2022 21:44
@fire fire changed the title Directly compresse mip maps from Basis Universal Directly compress mip maps from Basis Universal Jun 28, 2022
@fire fire removed the salvageable label Jun 28, 2022
@fire fire force-pushed the basis-universal-mips branch 3 times, most recently from a8c90de to 833450d Compare July 7, 2022 21:08
Copy link
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

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

Only gave it a very cursory check, would need in-depth review by @reduz. But the changes seem sensible, if BU can now support mipmaps properly we should use it.

@fire fire force-pushed the basis-universal-mips branch from 3278f59 to e1d9701 Compare July 19, 2022 01:08
@fire
Copy link
Member Author

fire commented Jul 19, 2022

@lyuma since you worked on the mipmaps code, can you review that area?

@fire fire force-pushed the basis-universal-mips branch 3 times, most recently from 3481ad9 to 12d2e35 Compare July 19, 2022 02:55
@fire fire force-pushed the basis-universal-mips branch from 12d2e35 to ef8f594 Compare August 7, 2022 20:41
@fire

This comment was marked as outdated.

@fire fire force-pushed the basis-universal-mips branch from ef8f594 to a481d27 Compare August 14, 2022 18:06
@fire
Copy link
Member Author

fire commented Aug 16, 2022

tl;dr

This pr does three things.

  1. use one mipmap call to basisu instead of several
  2. Discussed maybe separating basisu high quality and basisu fast
  3. basisu high quality uses uastc and lowest quality
  4. basisu fast uses etc1s and highest possible quality

Enable compressed mip maps from Basis Universal for faster compressions.

Increase the quality to avoid corruption.

To keep compatibility use the first mip of the previous internal Godot format.
@fire fire force-pushed the basis-universal-mips branch from a481d27 to 053174c Compare August 17, 2022 15:23
@fire
Copy link
Member Author

fire commented Aug 18, 2022

Superseded by: #62499

@fire fire closed this Aug 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants