Commit Graph

39 Commits

Author SHA1 Message Date
Konstantin Käfer
ebd8508032 [core] add getResource template to gfx::*Resource classes 2019-04-05 11:49:17 +02:00
Mikhail Pozdnyakov
ebe6f7dea3 [core] Remove RenderLinePaintProperties
This patch removes the `RenderLinePaintProperties` by
making `LineFloorWidth` part of the `style::LinePaintProperties`.

It normalizes paint properties evaluation for the line layer.
2019-04-02 17:56:16 +03:00
Konstantin Käfer
7f28afc507 [core] don't access empty texture pos optionals when buckets are out of sync 2019-03-27 11:21:19 +01: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
0ad2375e10 [core] remove a_/u_ prefix from attribute/uniform types 2019-03-20 15:40:47 +01:00
Konstantin Käfer
52cf9a1af3 [core] remove gl/context.hpp from more files, cast where necessary 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
Konstantin Käfer
979433eddb [build] update Boost to 1.69 and remove RTTI 2019-03-13 20:42:30 +01:00
Konstantin Käfer
e27f330629 [core] add texture bindings to draw call instead of Context member fn 2019-03-12 11:03:54 +01:00
Konstantin Käfer
cb64c380fb [core] add texture bindings to draw call invocations 2019-03-12 11:03:54 +01:00
Konstantin Käfer
2a25270298 [core] move Texture related enums to gfx namespace 2019-03-12 11:03:54 +01:00
Bruno de Oliveira Abinader
ba7427b4ac [core] Transform{State}: s/angle/bearing/ 2019-03-04 14:45:32 +02:00
Konstantin Käfer
67a9dc35bf [core] move CullFaceMode to gfx namespace 2019-03-01 09:33:37 +01:00
Konstantin Käfer
4982933a78 [core] move DepthMode to gfx namespace 2019-03-01 09:33:37 +01:00
Konstantin Käfer
fd37d90650 [core] move draw mode and primitives to gfx namespace 2019-03-01 09:33:37 +01:00
Mikhail Pozdnyakov
e800f37547 [core] Layer manager is responsible for buckets and layouts creation
This is a step to stop using of render layers in tile worker thread.
2019-02-25 13:47:56 +02:00
Mikhail Pozdnyakov
e45c3926c2 [core] Reduce presence of the 'useIntegerZoom' option
The `useIntegerZoom` presence is now limited: it is removed
from `PossiblyEvaluatedPropertyValue` class specializations
(was never used there!) and from the `PropertyEvaluationParameters`
class, so we do not have to copy `PropertyEvaluationParameters`
instance at `RenderLineLayer::evaluate`.
2019-02-04 13:30:21 +02:00
Mikhail Pozdnyakov
429ea6aba5 [core] Remove paintProperties() method from some render layers
PatternLayout can directly access layer's `evaluated` field.

Besides, obviates accessing of moved `evaluatedProps` inside
PatternLayout constructor.
2019-01-31 11:50:17 +02:00
Mikhail Pozdnyakov
d37918c169 [core] Split layer type specific code in mbgl::Programs
Progams code for a certain layer type is encapsulted within
a dedicated `<layer type>Programs` class, inherited from
the generic base `LayerTypePrograms` class.

`mbgl::Programs::get<layer type>Programs()` lazily initializes the
layer type-specific programs code using pointer to the base class,
which allows LTO to remove this code from binaries (if the corresponding
`get<layer type>Programs()` method can never be invoked).
2019-01-11 16:43:52 +02:00
Mikhail Pozdnyakov
361982fef8 [core][Android][Darwin] LayerManager creates RenderLayer instances
`LayerManager` is now responsible for `RenderLayer` instances creation,
so that there is a single entry point for creating of objects, which
correspond to a certain layer type.

The `LayerType type` field is dropped from `Layer::Impl`.
2018-11-27 18:10:21 +02:00
Alexander Shalamov
eb170b250a [core] Add use LayerTypeInfo::Layout for the layers that require Layout 2018-11-19 14:06:21 +02:00
Alexander Shalamov
a7274f66d0 [core] Move layer specific color ramp updates behind common update() method 2018-11-19 14:06:21 +02:00
Bruno de Oliveira Abinader
05a7b78aa8 [core] Add face culling mode parameter to Program::draw
Add a parameter to Program::draw to control whether face culling should
be enabled. This will be used in a follow up commit to enable face
culling for fill extrusion layers.
2018-09-13 08:42:36 +03:00
Molly Lloyd
d197fc7d8d [core] simplify dependency layout process and refactor data structures 2018-08-31 13:08:47 -07:00
Molly Lloyd
4a5dc37245 [core] Implement CrossFadedDataDrivenProperty to add support for feature expressions in *-pattern properties 2018-08-31 13:08:47 -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
f6659c729f [core] Use hand-rolled RTTI 2018-07-24 11:08:40 -07:00
John Firebaugh
2bbc792060 [core] Check all bucket dynamic_casts
A mismatch can occur when a layer changes from one type to another.
2018-07-24 11:08:40 -07:00
Fabian Guerra
30376f3ce1 Merge branch 'release-boba' into master
# Conflicts:
#	mapbox-gl-js
#	platform/android/CHANGELOG.md
#	platform/android/MapboxGLAndroidSDK/gradle.properties
#	platform/android/gradle/dependencies.gradle
#	platform/darwin/src/MGLVectorTileSource.mm
#	platform/darwin/src/MGLVectorTileSource_Private.h
#	platform/ios/CHANGELOG.md
#	src/mbgl/style/expression/compound_expression.cpp
2018-05-17 11:47:31 -04:00
Konstantin Käfer
c3346f473a [core] Don't crash when attribute count is exceeded 2018-05-03 16:31:43 -07:00
Chris Loer
f86fe44dbd [core] fix circle querying for scale and alignment
This fixes circle querying for cases where either
    circle-pitch-alignment=map
or
    circle-pitch-scaling=viewport
2018-04-26 18:03:17 -04:00
John Firebaugh
64203ba53f [core] Refactor Painter away 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
5c24636c26 [core] Eliminate Bucket::render 2017-07-19 09:31:07 -07:00
John Firebaugh
150fc6b643 [core] Don't transition new layers on a setStyle operation 2017-06-26 09:42:35 -07:00
Lauren Budorick
87a70c4793 [core] Enable property functions for line-width (#9250) 2017-06-19 14:27:43 -07:00
John Firebaugh
e473f2dcce [core] cascade ⇢ transition / cascading ⇢ transitionable 2017-05-15 09:45:55 -07:00
John Firebaugh
2690a65f8d [core] *LayerImpl::cascading ⇢ paint 2017-05-15 09:45:55 -07:00
Asheem Mamoowala
84e39611a0 [core] Move renderer/* files into sub-folders (#8983)
Move renderer/* files into sub-folders
2017-05-12 17:07:48 -07:00