Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
β¨ What's this?
π Why do we want this?
Buffer textures allow for easily pushing large amounts of unstructured binary data for efficient use in shaders.
π How is it done?
See by commits if you like.
π₯ Breaking changes
Making the texture targets immutable is strictly speaking a breaking change.
However, the argument was already optional, and only used in a single example I'm aware of, where it passed the default value anyway.
Because of that, I consider this largely breaking on a binary level, but not code level.
If you want me to split out a separate PR, I'll do so, but I believe the change to be small enough to include here.
π¬ Why not another way?
Shader Storage Buffer Objects are even more flexible, but only supported from OpenGL 4.3 onwards, and not available on MacOS.