summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2019-03-15 20:31:12 +0100
committerGitHub <noreply@github.com>2019-03-15 20:31:12 +0100
commitc8cfdb1ced822711e772dfcc8f708b1a7a68b5fc (patch)
treebf511253e25459cafc91a5f3bea2f5c773677162 /src/mbgl/renderer
parent62695c56956add5560933137a479f29f2d3a091b (diff)
downloadqtlocation-mapboxgl-c8cfdb1ced822711e772dfcc8f708b1a7a68b5fc.tar.gz
Merge pull request #14126 from mapbox/gfx-refactor-4
Graphics refactor #4
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r--src/mbgl/renderer/buckets/hillshade_bucket.cpp2
-rw-r--r--src/mbgl/renderer/buckets/raster_bucket.cpp2
-rw-r--r--src/mbgl/renderer/buckets/symbol_bucket.hpp2
-rw-r--r--src/mbgl/renderer/layers/render_background_layer.cpp5
-rw-r--r--src/mbgl/renderer/layers/render_circle_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp7
-rw-r--r--src/mbgl/renderer/layers/render_fill_layer.cpp6
-rw-r--r--src/mbgl/renderer/layers/render_heatmap_layer.cpp9
-rw-r--r--src/mbgl/renderer/layers/render_hillshade_layer.cpp6
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.cpp10
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp16
-rw-r--r--src/mbgl/renderer/paint_property_binder.hpp45
-rw-r--r--src/mbgl/renderer/render_static_data.cpp1
-rw-r--r--src/mbgl/renderer/render_static_data.hpp1
-rw-r--r--src/mbgl/renderer/render_tile.cpp7
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp2
-rw-r--r--src/mbgl/renderer/sources/render_image_source.cpp3
18 files changed, 75 insertions, 57 deletions
diff --git a/src/mbgl/renderer/buckets/hillshade_bucket.cpp b/src/mbgl/renderer/buckets/hillshade_bucket.cpp
index 588e4e50b1..3c14845dd8 100644
--- a/src/mbgl/renderer/buckets/hillshade_bucket.cpp
+++ b/src/mbgl/renderer/buckets/hillshade_bucket.cpp
@@ -2,7 +2,7 @@
#include <mbgl/renderer/layers/render_hillshade_layer.hpp>
#include <mbgl/programs/hillshade_program.hpp>
#include <mbgl/programs/hillshade_prepare_program.hpp>
-#include <mbgl/gl/context.hpp>
+#include <mbgl/gfx/context.hpp>
namespace mbgl {
diff --git a/src/mbgl/renderer/buckets/raster_bucket.cpp b/src/mbgl/renderer/buckets/raster_bucket.cpp
index bf6dffbf17..a8cb47d52c 100644
--- a/src/mbgl/renderer/buckets/raster_bucket.cpp
+++ b/src/mbgl/renderer/buckets/raster_bucket.cpp
@@ -1,7 +1,7 @@
#include <mbgl/renderer/buckets/raster_bucket.hpp>
#include <mbgl/renderer/layers/render_raster_layer.hpp>
#include <mbgl/programs/raster_program.hpp>
-#include <mbgl/gl/context.hpp>
+#include <mbgl/gfx/context.hpp>
namespace mbgl {
diff --git a/src/mbgl/renderer/buckets/symbol_bucket.hpp b/src/mbgl/renderer/buckets/symbol_bucket.hpp
index 9764d870da..fafa2592fe 100644
--- a/src/mbgl/renderer/buckets/symbol_bucket.hpp
+++ b/src/mbgl/renderer/buckets/symbol_bucket.hpp
@@ -114,7 +114,7 @@ public:
struct CollisionBuffer {
gfx::VertexVector<gfx::Vertex<CollisionBoxLayoutAttributes>> vertices;
gfx::VertexVector<gfx::Vertex<CollisionBoxDynamicAttributes>> dynamicVertices;
- SegmentVector<CollisionBoxProgram::Attributes> segments;
+ SegmentVector<CollisionBoxProgram::AttributeList> segments;
optional<gfx::VertexBuffer<gfx::Vertex<CollisionBoxLayoutAttributes>>> vertexBuffer;
optional<gfx::VertexBuffer<gfx::Vertex<CollisionBoxDynamicAttributes>>> dynamicVertexBuffer;
diff --git a/src/mbgl/renderer/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp
index ae89a08cac..32e05a38ab 100644
--- a/src/mbgl/renderer/layers/render_background_layer.cpp
+++ b/src/mbgl/renderer/layers/render_background_layer.cpp
@@ -8,6 +8,7 @@
#include <mbgl/programs/background_program.hpp>
#include <mbgl/util/tile_cover.hpp>
#include <mbgl/map/transform_state.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
#include <mbgl/gl/context.hpp>
namespace mbgl {
@@ -91,7 +92,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
for (const auto& tileID : util::tileCover(parameters.state, parameters.state.getIntegerZoom())) {
draw(
parameters.programs.getBackgroundLayerPrograms().backgroundPattern,
- BackgroundPatternProgram::uniformValues(
+ BackgroundPatternProgram::layoutUniformValues(
parameters.matrixForTile(tileID),
evaluated.get<BackgroundOpacity>(),
parameters.imageManager.getPixelSize(),
@@ -110,7 +111,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
for (const auto& tileID : util::tileCover(parameters.state, parameters.state.getIntegerZoom())) {
draw(
parameters.programs.getBackgroundLayerPrograms().background,
- BackgroundProgram::UniformValues {
+ BackgroundProgram::LayoutUniformValues {
uniforms::u_matrix::Value( parameters.matrixForTile(tileID) ),
uniforms::u_color::Value( evaluated.get<BackgroundColor>() ),
uniforms::u_opacity::Value( evaluated.get<BackgroundOpacity>() ),
diff --git a/src/mbgl/renderer/layers/render_circle_layer.cpp b/src/mbgl/renderer/layers/render_circle_layer.cpp
index 32ee24551c..60a3bf8e01 100644
--- a/src/mbgl/renderer/layers/render_circle_layer.cpp
+++ b/src/mbgl/renderer/layers/render_circle_layer.cpp
@@ -7,6 +7,8 @@
#include <mbgl/tile/tile.hpp>
#include <mbgl/style/layers/circle_layer_impl.hpp>
#include <mbgl/geometry/feature_index.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/util/math.hpp>
#include <mbgl/util/intersection_tests.hpp>
@@ -67,7 +69,7 @@ void RenderCircleLayer::render(PaintParameters& parameters, RenderSource*) {
auto& programInstance = parameters.programs.getCircleLayerPrograms().circle.get(evaluated);
const auto allUniformValues = programInstance.computeAllUniformValues(
- CircleProgram::UniformValues {
+ CircleProgram::LayoutUniformValues {
uniforms::u_matrix::Value(
tile.translatedMatrix(evaluated.get<CircleTranslate>(),
evaluated.get<CircleTranslateAnchor>(),
diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
index 08f35f1c76..5af4732aa3 100644
--- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
@@ -13,6 +13,7 @@
#include <mbgl/util/math.hpp>
#include <mbgl/util/intersection_tests.hpp>
#include <mbgl/tile/geometry_tile.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
#include <mbgl/gl/context.hpp>
namespace mbgl {
@@ -117,7 +118,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
draw(
parameters.programs.getFillExtrusionLayerPrograms().fillExtrusion.get(evaluated),
bucket,
- FillExtrusionProgram::uniformValues(
+ FillExtrusionProgram::layoutUniformValues(
tile.translatedClipMatrix(evaluated.get<FillExtrusionTranslate>(),
evaluated.get<FillExtrusionTranslateAnchor>(),
parameters.state),
@@ -144,7 +145,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
draw(
parameters.programs.getFillExtrusionLayerPrograms().fillExtrusionPattern.get(evaluated),
bucket,
- FillExtrusionPatternProgram::uniformValues(
+ FillExtrusionPatternProgram::layoutUniformValues(
tile.translatedClipMatrix(evaluated.get<FillExtrusionTranslate>(),
evaluated.get<FillExtrusionTranslateAnchor>(),
parameters.state),
@@ -177,7 +178,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
auto& programInstance = parameters.programs.getFillExtrusionLayerPrograms().extrusionTexture;
const auto allUniformValues = programInstance.computeAllUniformValues(
- ExtrusionTextureProgram::UniformValues{
+ ExtrusionTextureProgram::LayoutUniformValues{
uniforms::u_matrix::Value( viewportMat ),
uniforms::u_world::Value( size ),
uniforms::u_opacity::Value( evaluated.get<FillExtrusionOpacity>() )
diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp
index 83989fa012..64f3448c69 100644
--- a/src/mbgl/renderer/layers/render_fill_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_layer.cpp
@@ -8,6 +8,8 @@
#include <mbgl/tile/tile.hpp>
#include <mbgl/style/layers/fill_layer_impl.hpp>
#include <mbgl/geometry/feature_index.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/util/math.hpp>
#include <mbgl/util/intersection_tests.hpp>
#include <mbgl/tile/geometry_tile.hpp>
@@ -80,7 +82,7 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
const auto& paintPropertyBinders = bucket.paintPropertyBinders.at(getID());
const auto allUniformValues = programInstance.computeAllUniformValues(
- FillProgram::UniformValues {
+ FillProgram::LayoutUniformValues {
uniforms::u_matrix::Value(
tile.translatedMatrix(evaluated.get<FillTranslate>(),
evaluated.get<FillTranslateAnchor>(),
@@ -169,7 +171,7 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
paintPropertyBinders.setPatternParameters(patternPosA, patternPosB, crossfade);
const auto allUniformValues = programInstance.computeAllUniformValues(
- FillPatternProgram::uniformValues(
+ FillPatternProgram::layoutUniformValues(
tile.translatedMatrix(evaluated.get<FillTranslate>(),
evaluated.get<FillTranslateAnchor>(),
parameters.state),
diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.cpp b/src/mbgl/renderer/layers/render_heatmap_layer.cpp
index 74b976658e..efc16fb28a 100644
--- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp
+++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp
@@ -9,6 +9,8 @@
#include <mbgl/style/layers/heatmap_layer.hpp>
#include <mbgl/style/layers/heatmap_layer_impl.hpp>
#include <mbgl/geometry/feature_index.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/util/math.hpp>
#include <mbgl/util/intersection_tests.hpp>
@@ -100,7 +102,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) {
auto& programInstance = parameters.programs.getHeatmapLayerPrograms().heatmap.get(evaluated);
const auto allUniformValues = programInstance.computeAllUniformValues(
- HeatmapProgram::UniformValues {
+ HeatmapProgram::LayoutUniformValues {
uniforms::u_intensity::Value( evaluated.get<style::HeatmapIntensity>() ),
uniforms::u_matrix::Value( tile.matrix ),
uniforms::heatmap::u_extrude_scale::Value( extrudeScale )
@@ -145,8 +147,9 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) {
auto& programInstance = parameters.programs.getHeatmapLayerPrograms().heatmapTexture;
const auto allUniformValues = programInstance.computeAllUniformValues(
- HeatmapTextureProgram::UniformValues{
- uniforms::u_matrix::Value( viewportMat ), uniforms::u_world::Value( size ),
+ HeatmapTextureProgram::LayoutUniformValues{
+ uniforms::u_matrix::Value( viewportMat ),
+ uniforms::u_world::Value( size ),
uniforms::u_opacity::Value( evaluated.get<HeatmapOpacity>() )
},
paintAttributeData,
diff --git a/src/mbgl/renderer/layers/render_hillshade_layer.cpp b/src/mbgl/renderer/layers/render_hillshade_layer.cpp
index b428e357e7..00ecad444c 100644
--- a/src/mbgl/renderer/layers/render_hillshade_layer.cpp
+++ b/src/mbgl/renderer/layers/render_hillshade_layer.cpp
@@ -9,6 +9,8 @@
#include <mbgl/programs/hillshade_prepare_program.hpp>
#include <mbgl/tile/tile.hpp>
#include <mbgl/style/layers/hillshade_layer_impl.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/util/geo.hpp>
#include <mbgl/util/offscreen_texture.hpp>
@@ -74,7 +76,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src
const HillshadeProgram::Binders paintAttributeData{ evaluated, 0 };
const auto allUniformValues = programInstance.computeAllUniformValues(
- HillshadeProgram::UniformValues {
+ HillshadeProgram::LayoutUniformValues {
uniforms::u_matrix::Value( matrix ),
uniforms::u_highlight::Value( evaluated.get<HillshadeHighlightColor>() ),
uniforms::u_shadow::Value( evaluated.get<HillshadeShadowColor>() ),
@@ -138,7 +140,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src
auto& programInstance = parameters.programs.getHillshadeLayerPrograms().hillshadePrepare;
const auto allUniformValues = programInstance.computeAllUniformValues(
- HillshadePrepareProgram::UniformValues {
+ HillshadePrepareProgram::LayoutUniformValues {
uniforms::u_matrix::Value( mat ),
uniforms::u_dimension::Value( {{stride, stride}} ),
uniforms::u_zoom::Value( float(tile.id.canonical.z) ),
diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp
index 096afadf7d..eee151ccaa 100644
--- a/src/mbgl/renderer/layers/render_line_layer.cpp
+++ b/src/mbgl/renderer/layers/render_line_layer.cpp
@@ -8,6 +8,8 @@
#include <mbgl/geometry/line_atlas.hpp>
#include <mbgl/tile/tile.hpp>
#include <mbgl/style/layers/line_layer_impl.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/geometry/feature_index.hpp>
#include <mbgl/util/math.hpp>
#include <mbgl/util/intersection_tests.hpp>
@@ -110,7 +112,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
LinePatternPos posB = parameters.lineAtlas.getDashPosition(evaluated.get<LineDasharray>().to, cap);
draw(parameters.programs.getLineLayerPrograms().lineSDF,
- LineSDFProgram::uniformValues(
+ LineSDFProgram::layoutUniformValues(
evaluated,
parameters.pixelRatio,
tile,
@@ -135,7 +137,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
optional<ImagePosition> posB = geometryTile.getPattern(linePatternValue.to);
draw(parameters.programs.getLineLayerPrograms().linePattern,
- LinePatternProgram::uniformValues(
+ LinePatternProgram::layoutUniformValues(
evaluated,
tile,
parameters.state,
@@ -154,7 +156,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
}
draw(parameters.programs.getLineLayerPrograms().lineGradient,
- LineGradientProgram::uniformValues(
+ LineGradientProgram::layoutUniformValues(
evaluated,
tile,
parameters.state,
@@ -166,7 +168,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
});
} else {
draw(parameters.programs.getLineLayerPrograms().line,
- LineProgram::uniformValues(
+ LineProgram::layoutUniformValues(
evaluated,
tile,
parameters.state,
diff --git a/src/mbgl/renderer/layers/render_raster_layer.cpp b/src/mbgl/renderer/layers/render_raster_layer.cpp
index f68acd4061..c8f00eb1fd 100644
--- a/src/mbgl/renderer/layers/render_raster_layer.cpp
+++ b/src/mbgl/renderer/layers/render_raster_layer.cpp
@@ -7,6 +7,8 @@
#include <mbgl/programs/programs.hpp>
#include <mbgl/programs/raster_program.hpp>
#include <mbgl/tile/tile.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/style/layers/raster_layer_impl.hpp>
namespace mbgl {
@@ -82,7 +84,7 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
auto& programInstance = parameters.programs.getRasterLayerPrograms().raster;
const auto allUniformValues = programInstance.computeAllUniformValues(
- RasterProgram::UniformValues {
+ RasterProgram::LayoutUniformValues {
uniforms::u_matrix::Value( matrix ),
uniforms::u_opacity::Value( evaluated.get<RasterOpacity>() ),
uniforms::u_fade_t::Value( 1 ),
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp
index 43e3068ff0..31d92dd414 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -12,6 +12,8 @@
#include <mbgl/tile/geometry_tile.hpp>
#include <mbgl/tile/geometry_tile_data.hpp>
#include <mbgl/style/layers/symbol_layer_impl.hpp>
+#include <mbgl/gfx/cull_face_mode.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/layout/symbol_projection.hpp>
#include <mbgl/util/math.hpp>
@@ -170,7 +172,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
if (bucket.sdfIcons) {
if (values.hasHalo) {
draw(parameters.programs.getSymbolLayerPrograms().symbolIconSDF,
- SymbolSDFIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo),
+ SymbolSDFIconProgram::layoutUniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo),
bucket.icon,
bucket.iconSizeBinder,
values,
@@ -183,7 +185,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
if (values.hasFill) {
draw(parameters.programs.getSymbolLayerPrograms().symbolIconSDF,
- SymbolSDFIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill),
+ SymbolSDFIconProgram::layoutUniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill),
bucket.icon,
bucket.iconSizeBinder,
values,
@@ -195,7 +197,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
}
} else {
draw(parameters.programs.getSymbolLayerPrograms().symbolIcon,
- SymbolIconProgram::uniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange),
+ SymbolIconProgram::layoutUniformValues(false, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange),
bucket.icon,
bucket.iconSizeBinder,
values,
@@ -233,7 +235,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
if (values.hasHalo) {
draw(parameters.programs.getSymbolLayerPrograms().symbolGlyph,
- SymbolSDFTextProgram::uniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo),
+ SymbolSDFTextProgram::layoutUniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Halo),
bucket.text,
bucket.textSizeBinder,
values,
@@ -246,7 +248,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
if (values.hasFill) {
draw(parameters.programs.getSymbolLayerPrograms().symbolGlyph,
- SymbolSDFTextProgram::uniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill),
+ SymbolSDFTextProgram::layoutUniformValues(true, values, texsize, parameters.pixelsToGLUnits, alongLine, tile, parameters.state, parameters.symbolFadeChange, SymbolSDFPart::Fill),
bucket.text,
bucket.textSizeBinder,
values,
@@ -277,7 +279,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
gfx::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gfx::CullFaceMode::disabled(),
- CollisionBoxProgram::UniformValues {
+ CollisionBoxProgram::LayoutUniformValues {
uniforms::u_matrix::Value( tile.matrix ),
uniforms::u_extrude_scale::Value( extrudeScale ),
uniforms::u_camera_to_center_distance::Value( parameters.state.getCameraToCenterDistance() )
@@ -313,7 +315,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
gfx::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gfx::CullFaceMode::disabled(),
- CollisionCircleProgram::UniformValues {
+ CollisionCircleProgram::LayoutUniformValues {
uniforms::u_matrix::Value( tile.matrix ),
uniforms::u_extrude_scale::Value( extrudeScale ),
uniforms::u_overscale_factor::Value( float(tile.tile.id.overscaleFactor()) ),
diff --git a/src/mbgl/renderer/paint_property_binder.hpp b/src/mbgl/renderer/paint_property_binder.hpp
index dc5ab6ae22..a014b36ece 100644
--- a/src/mbgl/renderer/paint_property_binder.hpp
+++ b/src/mbgl/renderer/paint_property_binder.hpp
@@ -2,9 +2,8 @@
#include <mbgl/gfx/context.hpp>
#include <mbgl/gfx/uniform.hpp>
+#include <mbgl/gfx/attribute.hpp>
#include <mbgl/programs/attributes.hpp>
-#include <mbgl/gl/attribute.hpp>
-#include <mbgl/gl/uniform.hpp>
#include <mbgl/util/type_list.hpp>
#include <mbgl/renderer/possibly_evaluated_property_value.hpp>
#include <mbgl/renderer/paint_property_statistics.hpp>
@@ -101,7 +100,7 @@ public:
const style::expression::Value&) = 0;
virtual void upload(gfx::Context& context) = 0;
virtual void setPatternParameters(const optional<ImagePosition>&, const optional<ImagePosition>&, CrossfadeParameters&) = 0;
- virtual std::tuple<ExpandToType<As, optional<gl::AttributeBinding>>...> attributeBinding(const PossiblyEvaluatedType& currentValue) const = 0;
+ virtual std::tuple<ExpandToType<As, optional<gfx::AttributeBinding>>...> attributeBinding(const PossiblyEvaluatedType& currentValue) const = 0;
virtual std::tuple<ExpandToType<As, float>...> interpolationFactor(float currentZoom) const = 0;
virtual std::tuple<ExpandToType<As, UniformValueType>...> uniformValue(const PossiblyEvaluatedType& currentValue) const = 0;
@@ -121,8 +120,8 @@ public:
void upload(gfx::Context&) override {}
void setPatternParameters(const optional<ImagePosition>&, const optional<ImagePosition>&, CrossfadeParameters&) override {};
- std::tuple<optional<gl::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<T>&) const override {
- return std::tuple<optional<gl::AttributeBinding>> {};
+ std::tuple<optional<gfx::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<T>&) const override {
+ return {};
}
std::tuple<float> interpolationFactor(float) const override {
@@ -155,9 +154,9 @@ public:
}
}
- std::tuple<optional<gl::AttributeBinding>, optional<gl::AttributeBinding>>
+ std::tuple<optional<gfx::AttributeBinding>, optional<gfx::AttributeBinding>>
attributeBinding(const PossiblyEvaluatedPropertyValue<Faded<T>>&) const override {
- return std::tuple<optional<gl::AttributeBinding>, optional<gl::AttributeBinding>> {};
+ return {};
}
std::tuple<float, float> interpolationFactor(float) const override {
@@ -177,7 +176,7 @@ template <class T, class A>
class SourceFunctionPaintPropertyBinder final : public PaintPropertyBinder<T, T, PossiblyEvaluatedPropertyValue<T>, A> {
public:
using BaseAttributeType = A;
- using BaseVertex = gfx::Vertex<BaseAttributeType>;
+ using BaseVertex = gfx::VertexType<BaseAttributeType>;
using AttributeType = ZoomInterpolatedAttributeType<A>;
@@ -200,12 +199,12 @@ public:
vertexBuffer = context.createVertexBuffer(std::move(vertexVector));
}
- std::tuple<optional<gl::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<T>& currentValue) const override {
+ std::tuple<optional<gfx::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<T>& currentValue) const override {
if (currentValue.isConstant()) {
return {};
} else {
- return std::tuple<optional<gl::AttributeBinding>>{
- gl::attributeBinding<0>(*vertexBuffer)
+ return std::tuple<optional<gfx::AttributeBinding>>{
+ gfx::attributeBinding(*vertexBuffer)
};
}
}
@@ -236,7 +235,7 @@ public:
using AttributeType = ZoomInterpolatedAttributeType<A>;
using AttributeValue = typename AttributeType::Value;
- using Vertex = gfx::Vertex<AttributeType>;
+ using Vertex = gfx::VertexType<AttributeType>;
CompositeFunctionPaintPropertyBinder(style::PropertyExpression<T> expression_, float zoom, T defaultValue_)
: expression(std::move(expression_)),
@@ -264,12 +263,12 @@ public:
vertexBuffer = context.createVertexBuffer(std::move(vertexVector));
}
- std::tuple<optional<gl::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<T>& currentValue) const override {
+ std::tuple<optional<gfx::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<T>& currentValue) const override {
if (currentValue.isConstant()) {
return {};
} else {
- return std::tuple<optional<gl::AttributeBinding>>{
- gl::attributeBinding<0>(*vertexBuffer)
+ return std::tuple<optional<gfx::AttributeBinding>>{
+ gfx::attributeBinding(*vertexBuffer)
};
}
}
@@ -308,8 +307,8 @@ public:
using BaseAttributeType = A1;
using BaseAttributeType2 = A2;
- using Vertex = gfx::Vertex<BaseAttributeType>;
- using Vertex2 = gfx::Vertex<BaseAttributeType2>;
+ using Vertex = gfx::VertexType<BaseAttributeType>;
+ using Vertex2 = gfx::VertexType<BaseAttributeType2>;
CompositeCrossFadedPaintPropertyBinder(style::PropertyExpression<T> expression_, float zoom, T defaultValue_)
: expression(std::move(expression_)),
@@ -358,13 +357,13 @@ public:
zoomOutVertexBuffer = context.createVertexBuffer(std::move(zoomOutVertexVector));
}
- std::tuple<optional<gl::AttributeBinding>, optional<gl::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<Faded<T>>& currentValue) const override {
+ std::tuple<optional<gfx::AttributeBinding>, optional<gfx::AttributeBinding>> attributeBinding(const PossiblyEvaluatedPropertyValue<Faded<T>>& currentValue) const override {
if (currentValue.isConstant()) {
return {};
} else {
- return std::tuple<optional<gl::AttributeBinding>, optional<gl::AttributeBinding>>{
- gl::attributeBinding<0>(*patternToVertexBuffer),
- gl::attributeBinding<0>(crossfade.fromScale == 2 ? *zoomInVertexBuffer : *zoomOutVertexBuffer)
+ return std::tuple<optional<gfx::AttributeBinding>, optional<gfx::AttributeBinding>>{
+ gfx::attributeBinding(*patternToVertexBuffer),
+ gfx::attributeBinding(crossfade.fromScale == 2 ? *zoomInVertexBuffer : *zoomOutVertexBuffer)
};
}
}
@@ -506,8 +505,7 @@ public:
using InterpolationUniformList = typename Property<P>::InterpolationUniformList;
using AttributeList = TypeListConcat<ZoomInterpolatedAttributeList<Ps>...>;
- using Attributes = gl::Attributes<AttributeList>;
- using AttributeBindings = typename Attributes::Bindings;
+ using AttributeBindings = gfx::AttributeBindings<AttributeList>;
template <class EvaluatedProperties>
AttributeBindings attributeBindings(const EvaluatedProperties& currentProperties) const {
@@ -518,7 +516,6 @@ public:
using UniformList = TypeListConcat<InterpolationUniformList<Ps>..., typename Ps::UniformList...>;
using UniformValues = gfx::UniformValues<UniformList>;
- using Uniforms = gl::Uniforms<UniformList>;
template <class EvaluatedProperties>
UniformValues uniformValues(float currentZoom, EvaluatedProperties& currentProperties) const {
diff --git a/src/mbgl/renderer/render_static_data.cpp b/src/mbgl/renderer/render_static_data.cpp
index cae0e0a820..16d0d64a33 100644
--- a/src/mbgl/renderer/render_static_data.cpp
+++ b/src/mbgl/renderer/render_static_data.cpp
@@ -1,4 +1,5 @@
#include <mbgl/renderer/render_static_data.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/programs/program_parameters.hpp>
namespace mbgl {
diff --git a/src/mbgl/renderer/render_static_data.hpp b/src/mbgl/renderer/render_static_data.hpp
index da887dff22..b9b52b09ca 100644
--- a/src/mbgl/renderer/render_static_data.hpp
+++ b/src/mbgl/renderer/render_static_data.hpp
@@ -2,6 +2,7 @@
#include <mbgl/gfx/vertex_buffer.hpp>
#include <mbgl/gfx/index_buffer.hpp>
+#include <mbgl/gl/renderbuffer.hpp>
#include <mbgl/programs/background_program.hpp>
#include <mbgl/programs/extrusion_texture_program.hpp>
#include <mbgl/programs/programs.hpp>
diff --git a/src/mbgl/renderer/render_tile.cpp b/src/mbgl/renderer/render_tile.cpp
index d240189d74..24826bfd78 100644
--- a/src/mbgl/renderer/render_tile.cpp
+++ b/src/mbgl/renderer/render_tile.cpp
@@ -4,6 +4,7 @@
#include <mbgl/renderer/render_static_data.hpp>
#include <mbgl/programs/programs.hpp>
#include <mbgl/map/transform_state.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/tile/tile.hpp>
#include <mbgl/util/math.hpp>
@@ -103,7 +104,7 @@ void RenderTile::finishRender(PaintParameters& parameters) {
*tile.debugBucket->indexBuffer,
tile.debugBucket->segments,
program.computeAllUniformValues(
- DebugProgram::UniformValues {
+ DebugProgram::LayoutUniformValues {
uniforms::u_matrix::Value( matrix ),
uniforms::u_color::Value( Color::white() )
},
@@ -126,7 +127,7 @@ void RenderTile::finishRender(PaintParameters& parameters) {
*tile.debugBucket->indexBuffer,
tile.debugBucket->segments,
program.computeAllUniformValues(
- DebugProgram::UniformValues {
+ DebugProgram::LayoutUniformValues {
uniforms::u_matrix::Value( matrix ),
uniforms::u_color::Value( Color::black() )
},
@@ -151,7 +152,7 @@ void RenderTile::finishRender(PaintParameters& parameters) {
parameters.staticData.tileBorderIndexBuffer,
parameters.staticData.tileBorderSegments,
program.computeAllUniformValues(
- DebugProgram::UniformValues {
+ DebugProgram::LayoutUniformValues {
uniforms::u_matrix::Value( matrix ),
uniforms::u_color::Value( Color::red() )
},
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 8a9989dd51..471536cf40 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -461,7 +461,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
parameters.staticData.quadTriangleIndexBuffer,
parameters.staticData.tileTriangleSegments,
program.computeAllUniformValues(
- ClippingMaskProgram::UniformValues {
+ ClippingMaskProgram::LayoutUniformValues {
uniforms::u_matrix::Value( parameters.matrixForTile(clipID.first) ),
},
paintAttributeData,
diff --git a/src/mbgl/renderer/sources/render_image_source.cpp b/src/mbgl/renderer/sources/render_image_source.cpp
index cc8525aa9f..1b135a2838 100644
--- a/src/mbgl/renderer/sources/render_image_source.cpp
+++ b/src/mbgl/renderer/sources/render_image_source.cpp
@@ -7,6 +7,7 @@
#include <mbgl/renderer/tile_parameters.hpp>
#include <mbgl/renderer/render_static_data.hpp>
#include <mbgl/programs/programs.hpp>
+#include <mbgl/gl/context.hpp>
#include <mbgl/util/tile_coordinate.hpp>
#include <mbgl/util/tile_cover.hpp>
#include <mbgl/util/logging.hpp>
@@ -71,7 +72,7 @@ void RenderImageSource::finishRender(PaintParameters& parameters) {
parameters.staticData.tileBorderIndexBuffer,
parameters.staticData.tileBorderSegments,
programInstance.computeAllUniformValues(
- DebugProgram::UniformValues {
+ DebugProgram::LayoutUniformValues {
uniforms::u_matrix::Value( matrix ),
uniforms::u_color::Value( Color::red() )
},