-
-
Notifications
You must be signed in to change notification settings - Fork 22k
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
[Experimental] Add Betsy GPU texture compressor #91150
Conversation
Hooray! I will review as I can. |
Can you rebase to master and apply the |
6e5255a
to
cbd65f4
Compare
@@ -0,0 +1,480 @@ | |||
#[compute] |
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.
@akien-mga What's the policy on things like a glsl compute shader from Betsy. Normally it should go in the thirdparty but maybe you've got other suggestions.
void (*Image::_image_compress_bptc_rd_func)(Image *, Image::UsedChannels) = nullptr; | ||
void (*Image::_image_compress_etc1_rd_func)(Image *) = nullptr; | ||
void (*Image::_image_compress_etc2_rd_func)(Image *, Image::UsedChannels) = nullptr; | ||
//void (*Image::_image_compress_astc_rd_func)(Image *, Image::ASTCFormat) = nullptr; |
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.
We tend to remove commented code. It is also unclear if betsy will have ASTC support in the short term.
b98666a
to
e8ceeb5
Compare
e8ceeb5
to
de6ea0c
Compare
In asset meeting: we should focus on getting this in for BC6H for light maps |
BC6 support is pretty much finished, it just needs testing. I think I'm going to make a separate PR which only implements that format so it can be merged early on for 4.4, while this one with a full integration can be merged later. |
A proof-of-concept implementation of the Betsy GPU texture compressor. Currently, the only supported formats are BC1 and BC6.
In terms of performance it is comparable to etcpak, albeit the results are significantly higher-quality, especially with BC1.
TODO:
Image
instead of rd-specific variants,