- Use glBindAttribLocation for GLSL attributes.
- Create a separate shader for each shader that supports overdraw.
Needed because each uniform location must be known for every program.
- Create a separate VAO for each shader inside buckets.
Needed because we can only bind a VAO to a specific shader.
Fixes#5435.
* Add support for icon-text-fit
* Port unit tests for getIconQuads() from js => cpp
* Add support for padding in all 4 directions.
* Update all hashes post-merge
* First pass at port of https://github.com/mapbox/mapbox-gl-js/pull/2668
* RotationAlignmentType => AlignmentType
* Handle undefined default value for text-pitch-alignment and implement inheritance for this value from text-rotation-alignment
* Update dependencies
* Move handling fo undefined default value out of camelize functions
The keys in the vector tile may not be in alphabetical order. Building a vector of keys by looping over std::map<std::string, …> effectively sorts the keys by alphabetical order without sorting the associated values. This change inserts keys in the same order in which they appear in the vector tile.
Ported the following patches:
- [convert mat4 exMatrix to a vec2 extrudeScale](a8d549b7a4)
- [Enabled data-driven styling for circle-radius](4356e41fa6)
- [Reduce shader boilerplate, refactor "Bucket"](7d3da8f191)
add outlinepattern shader class to relevant files
add outlinepattern code to painter_fill.cpp
add outlinepattern code to fill_bucket
refactor painter_fill, fix tests
fix merge conflicts and setDepthSublayer
update render test to no antialiasing so travis will be happy
* Main gyp files are now standardized as platform/<platform>/platform.gyp.
* Each platform gyp file defines appropriate loop_lib and headless_lib variables.
* Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms.
* CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`.
* Renamed the "linux" test app to "glfw". It's now built in OS X CI.
* Android build flakiness is fixed.
* iOS CI builds the bench and iosapp targets.
* Mesa version is now in one place.
* CI scripts use bash "strict mode" and correct error handling.
* All build output goes to the build directory.
* Removed vestigial iOS/OS X/Android Travis scripts.