-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Switch back to a more compact line attributes layout #8306
Conversation
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.
The testing so far looks promising but I think we should try to test this in -native with the buggy device before merging.
Do you think using the most significant bit instead of the least significant bit could make it even more robust?
Would a new buffer size benchmark be useful to track these kinds of changes? |
Yep, already submitted a PR mapbox/mapbox-gl-native#14851 — will wait for confirmation of that one.
I don't know why it wasn't robust in the first place so not sure whether it will make a difference, but if the current approach is confirmed to work with those GPUs, we shouldn't have any problem on newer ones.
Yes, I have it locally and want to PR, but it doesn't fit the benchmark format because it's about qualitative values, not timing. Might be worth pushing just as a debug page at first. |
this effectively reverts mapbox/mapbox-gl-js#8306
this effectively reverts mapbox/mapbox-gl-js#8306
this effectively reverts mapbox/mapbox-gl-js#8306
Switch back from 12 to 8 bytes per vertex for line layers. See #8304.
I tried to decode them in a potentially safer way this time (avoiding
mod
and/
in shader math) to see if it fixes the Broadcom GPU bug —we need to verify this before mergingwe did verify it works properly on Broadcom VideoCore IV GPU, and faster than master 🎉.If not, this PR will be a good starting point for exploring other packing strategies (e.g. packing in most significant bit).Launch Checklist
write tests for all new functionalitycovered by render testsdocument any changes to public APIsno changespost benchmark scoresran Layout/Paint/LayerLine, they don't seem to be affected since this is a GPU thing