-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
Ensure optional CopyEffects variants are loaded last. #84883
Conversation
Just for future reference, we'll need to investigate this further. But I think the problem is that disabled variants are simply not added to the cache at all. So now it's trying to load the |
a5e2665
to
b1c4d4e
Compare
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 to me.
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.
Seems fine to me. As-is, I think this is a very low risk change.
That said, I think it is a band-aid to an underlying problem with how we deal with disabling/enabling XR variants. So we should probably revisit this after 4.2 releases
Thanks! |
This is a quick fix for #84841
There is an issue with our shader cache when there are disabled variants, it does not seem to deal with these properly (though this seems to be a recently introduced issue, possibly due to shader groups being added in 4.2).
For the most part this isn't a problem as the missing variants end up being recompiled and the cache fixes itself. The exception are our copy effects where a new copy type was added after the optional variants.
There is a more serious bug in the shader cache that causes all variants to be deleted (even the ones loaded properly) but in such a way that the Godot can no longer compile new versions.
This PR works around the problem by moving this new variant before the optional variants. This fixes the immediate problem.
We will need to fix the cache logic at some point but that will be a 4.3 fix.
Bugsquad edit: