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

Remove support for PVRTC texture encoding and decoding #56309

Merged
merged 1 commit into from
Jan 16, 2022

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented Dec 29, 2021

On the only platform where PVRTC is supported (iOS), ETC2 generally supersedes PVRTC in every possible way. The increased memory usage is not really a problem thanks to modern iOS' devices processing power being higher than its Android counterparts.

This closes godotengine/godot-proposals#3688 and closes #50787.

@fire
Copy link
Member

fire commented Dec 29, 2021

I am ok with this. Not sure how to ping the wider community.

@Calinou Calinou force-pushed the remove-pvrtc-support branch from 8b331f2 to 852c579 Compare December 29, 2021 19:20
@Calinou Calinou requested a review from a team as a code owner December 29, 2021 19:20
@akien-mga
Copy link
Member

akien-mga commented Jan 12, 2022

I think we can go ahead with this, just needs a rebase.

A couple more occurrences to remove:

$ rg -i pvrtc -g'!*.po' -g'!*.pot' -g'!thirdparty/*/'
COPYRIGHT.txt
381:Files: ./thirdparty/pvrtccompressor/
382:Comment: PvrTcCompressor

doc/classes/RenderingServer.xml
1310:                           Returns [code]true[/code] if the OS supports a certain feature. Features might be [code]s3tc[/code], [code]etc[/code], [code]etc2[/code] and [code]pvrtc[/code].

doc/classes/Image.xml
138:                            [b]Note:[/b] The following formats can be decompressed: DXT, RGTC, BPTC, PVRTC1. The formats ETC1 and ETC2 are not supported.

modules/basis_universal/SCsub
28:    "basisu_pvrtc1_4.cpp",

thirdparty/README.md
539:## pvrtccompressor
541:- Upstream: https://bitbucket.org/jthlim/pvrtccompressor (dead link)
542:  Unofficial backup fork: https://github.com/LibreGamesArchive/PVRTCCompressor

And well the pvrtccompressor library itself.

@bruvzg
Copy link
Member

bruvzg commented Jan 12, 2022

Should be fine.

For Metal, ETC2 should be supported by all iOS devices with PVRTC support - https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf

For OpenGL ES 3.0, 2013+ iOS devices also have ETC2 support, in the old docs PVRTC textures are recommended (without explanation why).

@Calinou Calinou force-pushed the remove-pvrtc-support branch from 852c579 to 2b06c8d Compare January 12, 2022 12:56
@akien-mga
Copy link
Member

As discussed on Rocket.Chat, thirdparty/pvrtccompressor should be removed, as well as references to it in thirdparty/README.txt and COPYRIGHT.txt.

On the only platform where PVRTC is supported (iOS),
ETC2 generally supersedes PVRTC in every possible way. The increased
memory usage is not really a problem thanks to modern iOS' devices
processing power being higher than its Android counterparts.
@Calinou Calinou force-pushed the remove-pvrtc-support branch from 2b06c8d to 40be159 Compare January 14, 2022 20:08
@Calinou Calinou requested a review from a team as a code owner January 14, 2022 20:08
@akien-mga akien-mga merged commit a27b853 into godotengine:master Jan 16, 2022
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment