Commit Graph

3325 Commits

Author SHA1 Message Date
Konstantin Käfer
e8bfcd0474 [core] fix rendering of fill outlines that have a different color than the fill itself 2017-08-07 10:41:06 +02: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
Molly Lloyd
ba7574ec51 [core] modify texture coordinate scaling (#9153)
ignore unsupported dds property tests

fix tests

remove unneeded texture extent variable

bump gl-js to master
2017-07-27 14:54:03 -07:00
Lauren Budorick
a8ef2af353 [core][android][macos][ios] Implement property functions for line-join, text-justify, text-anchor (#9583) 2017-07-26 13:18:47 -07:00
John Firebaugh
d4cb498d7a [all] Merge View into RendererBackend 2017-07-26 09:50:38 -07:00
Thiago Marcos P. Santos
acd95c325a [core] Fix issues with the std:: namespace and old compilers
Specifically when building Android with GCC 4.9 (which Qt still does :-/)
2017-07-26 18:51:11 +03:00
Ivo van Dongen
27343c6a75 [core] fix backend scope handling on render, cleanup and lowmemory
- Make renderer frontend responsible for creating a BackendScope on render
- encapsulate backend scope handling on cleanup and low memory in renderer impl
2017-07-25 17:44:28 +03:00
John Firebaugh
a178248139 [node] Reset Style::Impl::lastError when loading a new style 2017-07-24 15:19:15 -07:00
Konstantin Käfer
c0efad5de2 [core] generate masks for raster tiles to avoid painting over children 2017-07-24 12:10:45 +02:00
Konstantin Käfer
4dff51719b [core] add algorithm for computing masks for raster tiles 2017-07-24 12:10:45 +02:00
John Firebaugh
cebc3c8d4b [android] Disable program caching on Adreno 3xx, 4xx, and 5xx GPUs due to known bugs 2017-07-21 09:31:16 -07:00
John Firebaugh
fb8d40ae67 [core] Work around Adreno 2xx GPU bugs (#9573) 2017-07-21 10:17:50 +02:00
John Firebaugh
b43e1ae123 [core] Correctly track sprite loaded state through smart setStyle 2017-07-20 08:58:50 -07:00
John Firebaugh
2cdbb49a0c [core] Fix build; struct ⇢ class 2017-07-19 13:31:59 -07:00
John Firebaugh
64203ba53f [core] Refactor Painter away 2017-07-19 09:31:07 -07:00
John Firebaugh
72b7e39074 [core] Inline Painter::renderPass 2017-07-19 09:31:07 -07:00
John Firebaugh
8c908b33d7 [core] Move extrusion rendering to RenderFillExtrusionLayer 2017-07-19 09:31:07 -07:00
John Firebaugh
ac58130d36 [core] Extract renderTileDebug; inline renderClippingMask 2017-07-19 09:31:07 -07:00
John Firebaugh
2c0fe49650 [core] Inline Painter::renderSymbol 2017-07-19 09:31:07 -07:00
John Firebaugh
3787d3a048 [core] Inline Painter::renderLine and RenderImageSource::render 2017-07-19 09:31:07 -07:00
John Firebaugh
0d951f39b6 [core] Inline Painter::renderLine 2017-07-19 09:31:07 -07:00
John Firebaugh
5d997ae08e [core] Inline Painter::renderFillExtrusion 2017-07-19 09:31:07 -07:00
John Firebaugh
356bba9e3b [core] Inline Painter::renderFill 2017-07-19 09:31:07 -07:00
John Firebaugh
23198d7935 [core] Inline Painter::renderCircle 2017-07-19 09:31:07 -07:00
John Firebaugh
c5ec9cafa7 [core] Inline Painter::renderBackground 2017-07-19 09:31:07 -07:00
John Firebaugh
5c24636c26 [core] Eliminate Bucket::render 2017-07-19 09:31:07 -07:00
Bruno de Oliveira Abinader
4954da23e7 [core] No need for default ctor in {Update,Tile}Parameters 2017-07-19 19:24:30 +03:00
Bruno de Oliveira Abinader
6c12de8d12 [core] std::vector can be bracket-initialized 2017-07-19 19:24:30 +03:00
Thiago Marcos P. Santos
a3244421a5 [Qt] Rename files with same name
QMake is having some issues with files with same names when
building the Qt Location plugin.
2017-07-19 14:39:39 +03:00
Ivo van Dongen
9ebf727f56 [core] BackendScope prevent double (de-)activation
- Guards against duplicate activations by checking wether the backend of the prior scope is the same as the current ones
- Makes sure that only the most outer backend scope deactivates by tracking activation state
2017-07-18 10:45:12 +02:00
Ivo van Dongen
46c43510d7 [core] rename backend to renderer backend 2017-07-18 10:45:12 +02:00
Ivo van Dongen
3832f8d0d8 [core] renderer interface 2017-07-18 10:45:12 +02:00
Ivo van Dongen
57351c068b [core] split backend from mapobserver 2017-07-18 10:45:12 +02:00
Ivo van Dongen
e35cbbae55 [core] mutate style on annotation mutations immediately 2017-07-18 10:45:12 +02:00
Asheem Mamoowala
8ae7010546 [core][ios][android][macos] Use premultiplied image directly for RasterTile and ImageSource, un-premultiply in the shader for blending 2017-07-17 12:20:03 -07:00
Asheem Mamoowala
1d15ed64dc [core] Use shared pointer to manage Image source raster data and speed up change detection 2017-07-17 12:20:03 -07:00
Konstantin Käfer
fdfd5f91f5 [core] abort early when the dimension is 0 2017-07-17 15:02:47 +02:00
Konstantin Käfer
6b954677c0 [core] fix undefined behavior for division through 0 2017-07-17 15:02:47 +02:00
Konstantin Käfer
13d6920661 [core] fix division by zero when defaultFadeDuration is 0 2017-07-13 17:57:36 +02:00
John Firebaugh
1176eade34 [android] Force previously cached program binaries to be regenerated 2017-07-12 14:55:02 -07:00
John Firebaugh
c0d6a07a8e [core] Pass correct sources to programIdentifier 2017-07-12 14:55:02 -07:00
John Firebaugh
86ee821c6e [core] No need for optional in map of VertexArrays 2017-07-12 14:55:02 -07:00
John Firebaugh
2691fe165d [core] Add comments explaining typing of AttributeLocation and UniformLocation 2017-07-12 14:55:02 -07:00
John Firebaugh
4c42132183 [core] Reduce memory requirements of VertexArrays 2017-07-12 14:55:02 -07:00
John Firebaugh
49726cdc75 [core] Remove segment.cpp 2017-07-12 14:48:22 -07:00
John Firebaugh
01aff01274 [core] Use a type alias for SegmentVector 2017-07-12 14:48:22 -07:00
John Firebaugh
358b0305ae [core] Per-segment-per-layer vertex arrays
Reduces rebinding, matches gl-js, and works around the buggy VAO implementation on PowerVR SGX544 GPUs.
2017-07-12 14:48:22 -07:00
John Firebaugh
c61041b44c [core] Rework attribute binding (again)
These changes are necessary for programs whose set of active attributes is not fixed at compile time by a template parameter pack, but rather varies based on the generated shader text at runtime. In such cases, the attribute location of a given named attribute may vary between instances of the same Program.

Previously, attribute bindings were implicitly associated with a location based on template parameter order, and -1 was used to indicate an inactive attribute. This left us unable to disable the appropriate attribute when it went from active to inactive. Now, the state tracker for bindings explicitly associates locations and state, and an empty optional is used to indicate an inactive attribute.

In addition, a gl::VertexArray class is now exposed, allowing more flexibility in the relationship between Programs, Segments, and attribute bindings. In this commit, that relationship does not change, but the subsequent commit adjusts it to match gl-js, reduce rebinds, and work around buggy VAO implementations.

VertexArray uses a pimpl idiom in order to support implementations that lack the VAO extension. In that case, all VertexArrays share global binding state, reflecting the platform reality in the absence of VAOs, while still providing a uniform API.
2017-07-12 14:48:22 -07:00
John Firebaugh
fedfaa2f6e [core] Inline getActiveAttributes details 2017-07-12 14:43:23 -07:00
John Firebaugh
8fb212dbb3 [core] Include what you use 2017-07-12 14:43:23 -07:00