Commit Graph

505 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
1c757cce34 [build] Autodetect Qt{4,5} 2017-03-23 16:09:07 +02:00
Molly Lloyd
692f5e0a9f Pack min + max into one attribute 💪
Some devices supported by Mapbox GL provide only 8 vertex attributes; this change packs existing attributes to get us just under that limit.

For properties using a composite function, pack the min and max values into a single attribute with two logical components instead of using two separate attributes and buffers. Special logic is included for color attributes, whose integer components must be packed into the available bits of floating-point attributes. (We don't have access to ivec types in GL ES 2.0.)

For source functions, continue to bind just a one-component attribute even though the GLSL type is vec2 (or vec4 for colors). The type-checking done by gl::Attribute is relaxed slightly to accommodate this.
2017-03-08 15:23:25 -08:00
John Firebaugh
b83b14feb0 [core] De-duplicate shader prelude source 2017-03-08 13:49:24 -08:00
Konstantin Käfer
a517323bfc [build] increase binary size log duration to 60 days 2017-03-08 13:10:04 -08:00
Anand Thakker
f901e776b3 [core] Implement data-driven styling for {text,icon}-{color,opacity,halo-color,halo-blur,halo-width} (#7939)
* Add symbol dds attributes and adapt style code generation

* Update to mapbox-gl-js/master

* Refactor SymbolFeature as a subclass of GeometryTileFeature

Prepares for enabling DDS on symbol paint properties by allowing the
SymbolFeatures, which we keep around after constructing SymbolLayout,
to be used in evaluating data-driven paint properties later in the
layout process.

* Draft approach for splitting icon/text paint properties

The `Program` types are set up to bind GL attributes to each of the
data-driven paint properties specified in the `PaintProperties` type
provided.  Since `SymbolPaintProperties` specifies both `Text*` and
`Icon*` properties, the symbolIcon, symbolIconSDF, and symbolGlyph
programs each attempt to bind roughly double the number of attributes
that they actually need.

This change addresses this by:
- Adding the more specific `IconPaintProperties` and `TextPaintProperties` types, which are subsets of the full `SymbolPaintProperties`.
- The symbol layer continues to use its `SymbolPaintProperties paint` member to track layer property state, but it provides helpers that construct objects of each the specific `{Icon,Text}PaintProperties::Evaluated` type, for use by the painter.
- The three symbol programs instantiate `Program<>` using the appropriate `{Icon,Text}PaintProperties` type.

* check in generated style code

* Populate paint buffers for symbol DDS properties

* Address first round of review comments

* Refactor VectorTile{Layer,Feature} to explicitly share data

* Update submodule
2017-02-28 19:54:24 -08:00
Konstantin Käfer
c3ed1f51ca [core] remove gl.hpp include from shader headers 2017-02-28 18:28:41 -08:00
Anand Thakker
4b81c924cc [core] Log Memory.Footprint test results (#8170)
* Log Memory.Footprint test output

* On CI, only run Memory.Footprint test with libjemalloc
2017-02-28 14:11:35 -08:00
John Firebaugh
55804f8273 Revert "[build] Add --track-origins=yes to valgrind arguments"
This reverts commit 090fb92fbf.
2017-02-20 16:46:52 -08:00
Dane Springmeyer
62e8e64299 Upgrade to logbt 2.0.1
The logbt 2.0.1 release is now fixed to no longer restrict coredump reporting for specific exit codes. This means it behaves the same as the branch currently in use after #8043. This gets us using a released version.
2017-02-20 12:05:18 -08:00
John Firebaugh
3b53259c93 [build] Use backtrace-for-all-exit-codes branch of logbt 2017-02-13 17:26:07 -06:00
John Firebaugh
090fb92fbf [build] Add --track-origins=yes to valgrind arguments 2017-02-13 10:11:26 -06:00
John Firebaugh
9df24addfb [node] Run test with logbt 2017-02-09 10:56:01 -06:00
John Firebaugh
94a3c272ff [core] Update gl-js; fix $id filters with GeoJSON source 2017-02-08 19:07:53 -06:00
Konstantin Käfer
bb931505c5 [build] Remove Mason submodule in favor of CMake mason 2017-02-08 19:07:16 +01:00
John Firebaugh
150b938b49 [build, ios, macos] Simplify version portion of user agent string
The X.Y.Z version portion was unreliable, as it pulled from the latest tag regardless of platform. Set version to 0.0.0 and retrieve only the hash, which allows us to drop the node/npm dependency.
2017-02-08 10:59:59 -06:00
John Firebaugh
74eb8b3609 [core] Use cpp files for shader source 2017-02-07 11:27:36 -06:00
John Firebaugh
9f2f7ddd12 [core] Check in generated shader code
One step toward eliminating the node/npm dependency for platforms other than node.
2017-02-07 11:27:36 -06:00
John Firebaugh
141e995806 [core] Add support for data-driven styling 2017-02-02 09:44:42 -08:00
John Firebaugh
9c5abc1221 [build] Use style-spec from gl-js monorepo 2017-02-01 08:11:01 -08:00
Konstantin Käfer
a253a15a7c [linux] update CA bundle and add script for automated updates
also removes the ca-bundle.crt from the Android build, since it's entirely unused
2017-01-27 14:52:21 +01:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00
John Firebaugh
0ccc255f0e [linux] mesa 13.0.3 2017-01-23 11:13:42 -06:00
John Firebaugh
df2b6cfec1 [linux] No need for CXXABI suffix for mesa 2017-01-17 13:05:10 -06:00
John Firebaugh
255f09a73c [linux] Use valgrind 3.12.0 2017-01-13 14:53:39 +02:00
John Firebaugh
a3e9c74dc6 [build] Upgrade clang-tidy and clang-format
Version 3.8.0 was removed from mason.
2017-01-13 14:53:39 +02:00
John Firebaugh
3b2a4216a2 [core] Implement circle-stroke properties
Also includes stubs for fill-extrusion layer, because most of the code was auto-generated.
2016-12-09 09:35:21 -08:00
Konstantin Käfer
ba2e44d4d7 [build] publish binary size statistics to S3 2016-11-22 17:33:25 +01:00
Konstantin Käfer
5f010b0979 [build] don't abort with an error code to allow reporting partial builds 2016-11-17 15:42:44 +01:00
Bruno de Oliveira Abinader
0ef52d7f7c [build] Added EGL & GLX CI builds 2016-11-17 01:01:15 +01:00
Konstantin Käfer
223a95a74f [build] add binary size logging to Linux Release builds 2016-11-15 10:07:47 -08:00
Konstantin Käfer
2411ec83b1 [build] don't rewrite style code for every build
revert of 93166aef48

On Android, we always rewrote the style code files, which lead to gratuitous recompiles
2016-11-09 11:10:22 +01:00
Vladimir Agafonkin
efc427f9bb update to mapbox-gl-shaders with vertex/fragment preludes (#6971) 2016-11-08 15:01:53 -08:00
John Firebaugh
66bdbc3b96 [core] Introduce gl::Program template 2016-11-08 08:09:29 -08:00
Bruno de Oliveira Abinader
8e99ae44dd [build] Use mesa-13.0.0-glx in CI builds 2016-11-08 18:02:38 +02:00
Bruno de Oliveira Abinader
48a082a91b [linux] Use OSMesa when running Node tests 2016-11-04 18:43:08 +02:00
Bruno de Oliveira Abinader
c5c3145b9a [linux] Update target headless backends
Enable OSMesa backend via WITH_OSMESA=1 envvar.

OSMesa backend uses Gallium OSMesa implementation, which uses
LLVMpipe as default driver.
2016-11-04 18:43:08 +02:00
Bruno de Oliveira Abinader
f376827ed2 [build] Replace 'tidy' with 'check' 2016-11-04 16:10:06 +02:00
Konstantin Käfer
a4d259c33f [core] move gl::Context to Backend and refactor View 2016-10-25 13:52:36 -07:00
Thiago Marcos P. Santos
5829c0dbc6 [build] Re-add benchmark tests to the buildsystem
Probably lost on the cmake migration
2016-10-05 11:12:16 +03:00
Justin R. Miller
ee4715a821 update style generation code for new style spec enum values docs (#6508)
Documentation for enum values landed in mapbox/mapbox-gl-style-spec#510. 

This updates Android, iOS, and macOS documentation code gen scripts to capitalize on them.
2016-09-30 15:55:46 -07:00
Konstantin Käfer
e0ffde7bc2 [build] use git ls-files so we only include tracked files 2016-09-28 16:34:22 +02:00
John Firebaugh
63cce78cf1 [core] Add static getters for property default values (#6124) 2016-08-23 12:49:47 -07:00
Konstantin Käfer
f4b4f978ec [build] convert build-version script from Python to Node.js 2016-08-16 15:29:34 +02:00
Konstantin Käfer
63a2f896cc [build] remove unused script 2016-08-16 15:29:34 +02:00
Konstantin Käfer
51391740bf [build] convert build-shaders script from Python to Node.js 2016-08-16 15:29:34 +02:00
Bruno de Oliveira Abinader
0fb3b6e333 [build] Re-enable coverage run 2016-08-05 11:42:22 +02:00
Bruno de Oliveira Abinader
023ff83d88 [build] Fix 'make tidy' on linux 2016-08-05 11:42:22 +02:00
Thiago Marcos P. Santos
c6313681d2 [build] Re-enable Qt bots 2016-08-05 11:42:22 +02:00
Thiago Marcos P. Santos
6b44aa9095 [build] Use cxx11abi suffix when needed 2016-08-05 11:42:22 +02:00
Konstantin Käfer
692fe1f3ff [build] switch to CMake
This is very much a work in progress.
2016-08-05 11:42:22 +02:00