-
-
Notifications
You must be signed in to change notification settings - Fork 314
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
Fix update time not being set when only drawable indexes are set #2743
Conversation
Remove unnecessary segment check. Add null checks.
Bloaty Results (iOS) 🐋Compared to main
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results-ios/pr-2743-compared-to-main.txt |
Benchmark Results ⚡
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/benchmark-results/pr-2743-compared-to-main.txt |
Bloaty Results 🐋Compared to main
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2743-compared-to-main.txtCompared to d387090 (legacy)
Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results/pr-2743-compared-to-legacy.txt |
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.
Would be good if @alexcristici or @mwilsnd can have a quick look as well.
Do you know why the failing assert was not triggered on CI?
No, I can't explain that. Are you sure that asserts are enabled in the build that's running? |
When only a drawable's indexes are updated but not the vertex attributes, the update time wasn't set, and they were seen as out-of-date later on.
For OpenGL, changes to indexes didn't trigger an update at all, so that may have been leading to an un-detected bug. But the criteria for updates were also much too broad, so it was updating a lot when not really needed. I split up the check for building the indexes from the check for building the attributes, and saved the attribute bindings with the drawable so that they don't need to be re-built (by rebuilding the attributes) every time.
Resolves #2740