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.
For #3116
This is another attempt to fix the divisor problems. The specs pass and the Sandcastle demos work. It basically reverts what I did in #3113 and adds lines 98 and 99 to set the divisor cache when a VAO is created.
I'm not completely sure what the Chrome bug is that I'm working against. The title for the Chromium commit is "Fixed issue with vertex attrib divisors of 0 not tracking correctly". So the VAO actually does store the divisor state, except has a problem when the divisors are 0. I was able to test a simpler version of
setVertexAttribDivisor
for this, but it won't work on Firefox because they still seem to store the divisors as global state. Basically two implementations are needed to fix two different browser bugs. The solution here works all around, but on Chrome there will be some excess glVertexAttribDivisor calls when the divisor is > 1. At least Canary now works as expected.