Commit Graph

27 Commits

Author SHA1 Message Date
Konstantin Käfer
7f9274035b [core] refactor program object creation 2019-05-28 16:11:05 +02:00
Konstantin Käfer
a53c88159f [core] upgrade mapbox-gl-js pin to the most recent version 2019-05-08 14:10:11 +02:00
Konstantin Käfer
b0c012fdc5 [build] don't add gl to outputPath 2019-04-05 11:49:17 +02:00
Konstantin Käfer
1e30fdac36 [core] move ProgramMap to within the gl::Program object 2019-03-20 15:40:47 +01:00
Konstantin Käfer
53ab65d811 [core] use constexpr string concatenation for uniform/attribute names 2019-03-20 15:40:47 +01:00
Konstantin Käfer
c8cfdb1ced Merge pull request #14126 from mapbox/gfx-refactor-4
Graphics refactor #4
2019-03-15 20:31:12 +01:00
Vladimir Agafonkin
c89daf6bf1 Add basic shader minification (#13500)
* add basic shader minification (same GL JS does)

* don't remove line break at shader end
2018-12-04 16:09:43 +02:00
Chris Loer
f7a69d15ab [docs] Include uncompressed shader source in .cpp comments
This is meant to
(1) Make it easier for new developers to find the source
(2) Make it easier to look at shader diffs when the GL JS pin changes
2018-09-19 16:19:28 -07:00
Mikhail Pozdnyakov
fb5afd34b9 [core] Add line-gradient property
Porting of https://github.com/mapbox/mapbox-gl-js/pull/6303
See the link above for the description of the feature and
its limitations).

Based on patch from @lbud (Lauren Budorick).
2018-08-23 19:01:40 +03:00
John Firebaugh
10e4ea0f28 [core] Compress all shader source as a single corpus 2018-07-25 11:39:05 -07:00
John Firebaugh
888a516f1f [core] Compress shader source code 2018-07-25 11:39:05 -07:00
Chris Loer
60cce56d46 Bump GL JS pin to get tests for global symbol querying.
- Pulls over an update to line.vertex.glsl (looks like a no-op?)
 - Add test ignores for collator, is-supported-script, line-gradient
 - Exclude collator, is-supported-script, line-gradient from code generation.
2018-04-25 14:39:03 -07:00
Vladimir Agafonkin
82de856c94 [core, ios, macos, android, node] Heatmap layer (#11046)
Co-Authored-By: Konstantin Käfer <mail@kkaefer.com>
Co-Authored-By: Anand Thakker <anandthakker@users.noreply.github.com>
Co-Authored-By: Minh Nguyễn <1ec5@users.noreply.github.com>
2018-02-15 17:38:23 +02:00
Konstantin Käfer
2502a3ab2b [core] update mapbox-gl-js submodule pin
* disables transition render test (transitions are not supported with Still image rendering in Node.js)
* removes support for hillshade-illumniation-direction-transition
2018-01-24 15:41:22 -08:00
Konstantin Käfer
9d1fa508a3 [build] Add temporary modifications to style spec + shaders
This ensures that the generated code matches what is checked in. Remove those temporary modifications once we add the features to master.
2018-01-24 08:35:31 -08:00
John Firebaugh
822df3dd51 [core] Use separate attribute component for line normals
Broadcom GPUs don't cope well with using the least significant bit for this.
2017-08-08 18:06:44 -07:00
John Firebaugh
466728b441 [core] Simplify generate-shaders.js
We moved the #pragma ⇢ #ifndef logic into gl-js.
2017-08-02 09:59:50 -07:00
Ansis Brammanis
79c986a04c fix shader generation script
the main fix is switching from ifdef -> ifndef

The rest of the changes just make a cleaner diff.
2017-06-16 16:10:29 -07:00
Konstantin Käfer
2cbc3d3332 [core] add shader defines for enabling/disabling attributes/uniforms for DDS 2017-06-13 12:21:50 -07:00
John Firebaugh
31bf6719fc [core] Reduce number of varyings to 8 or less
For #pragmas, don't generate varyings for attributes that aren't used by the fragment shader. Pack other varyings more tightly.
2017-06-13 08:41:39 -07:00
Lauren Budorick
f6e79d7073 [core] Render fill-extrusion layers (#8431) 2017-04-27 15:56:55 -07: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
c3ed1f51ca [core] remove gl.hpp include from shader headers 2017-02-28 18:28:41 -08:00
John Firebaugh
94a3c272ff [core] Update gl-js; fix $id filters with GeoJSON source 2017-02-08 19:07:53 -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