summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2019-03-12 22:42:35 +0100
committerKonstantin Käfer <mail@kkaefer.com>2019-03-15 11:55:30 +0100
commite8c466e0cdce1d522c3465a81203dba7eee4cc9c (patch)
tree3027d15d677b55a46b54f7f0141c21b365e99e89
parent7c291dffb752102d209a83c09f573a6ce67783a3 (diff)
downloadqtlocation-mapboxgl-e8c466e0cdce1d522c3465a81203dba7eee4cc9c.tar.gz
[core] UniformValues -> LayoutUniformValues, and remove gl::Uniforms from program.hpp
-rw-r--r--src/mbgl/gl/program.hpp20
-rw-r--r--src/mbgl/programs/background_program.cpp19
-rw-r--r--src/mbgl/programs/background_program.hpp16
-rw-r--r--src/mbgl/programs/collision_box_program.hpp12
-rw-r--r--src/mbgl/programs/fill_extrusion_program.cpp10
-rw-r--r--src/mbgl/programs/fill_extrusion_program.hpp22
-rw-r--r--src/mbgl/programs/fill_program.cpp17
-rw-r--r--src/mbgl/programs/fill_program.hpp14
-rw-r--r--src/mbgl/programs/line_program.cpp66
-rw-r--r--src/mbgl/programs/line_program.hpp52
-rw-r--r--src/mbgl/programs/program.hpp24
-rw-r--r--src/mbgl/programs/symbol_program.cpp44
-rw-r--r--src/mbgl/programs/symbol_program.hpp57
-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/layers/render_background_layer.cpp6
-rw-r--r--src/mbgl/renderer/layers/render_circle_layer.cpp2
-rw-r--r--src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp8
-rw-r--r--src/mbgl/renderer/layers/render_fill_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_heatmap_layer.cpp7
-rw-r--r--src/mbgl/renderer/layers/render_hillshade_layer.cpp4
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.cpp8
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.cpp2
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp14
-rw-r--r--src/mbgl/renderer/paint_property_binder.hpp2
-rw-r--r--src/mbgl/renderer/render_tile.cpp6
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp2
-rw-r--r--src/mbgl/renderer/sources/render_image_source.cpp2
28 files changed, 223 insertions, 221 deletions
diff --git a/src/mbgl/gl/program.hpp b/src/mbgl/gl/program.hpp
index c6c42bbad2..ac8c5644b2 100644
--- a/src/mbgl/gl/program.hpp
+++ b/src/mbgl/gl/program.hpp
@@ -6,12 +6,14 @@
#include <mbgl/gl/draw_scope_resource.hpp>
#include <mbgl/gfx/vertex_buffer.hpp>
#include <mbgl/gfx/index_buffer.hpp>
+#include <mbgl/gfx/uniform.hpp>
#include <mbgl/gl/vertex_array.hpp>
#include <mbgl/gl/attribute.hpp>
#include <mbgl/gl/uniform.hpp>
#include <mbgl/gl/texture.hpp>
-
+#include <mbgl/gl/features.hpp>
#include <mbgl/util/io.hpp>
+
#include <mbgl/util/logging.hpp>
#include <mbgl/programs/binary_program.hpp>
#include <mbgl/programs/program_parameters.hpp>
@@ -22,16 +24,18 @@
namespace mbgl {
namespace gl {
-template <class P, class AttributeList, class Us, class TextureList>
+template <class P, class AttributeList, class UniformList, class TextureList>
class Program {
public:
using Primitive = P;
- using Uniforms = Us;
- using UniformValues = typename Uniforms::Values;
using AttributeBindings = typename gfx::Attributes<AttributeList>::Bindings;
+ using UniformValues = gfx::UniformValues<UniformList>;
using TextureBindings = gfx::TextureBindings<TextureList>;
+ using Attributes = gl::Attributes<AttributeList>;
+ using Uniforms = gl::Uniforms<UniformList>;
+
Program(Context& context, const std::string& vertexSource, const std::string& fragmentSource)
: program(
context.createProgram(context.createShader(ShaderType::Vertex, vertexSource),
@@ -53,7 +57,7 @@ public:
Program(Context& context, const BinaryProgram& binaryProgram)
: program(context.createProgram(binaryProgram.format(), binaryProgram.code())),
uniformsState(Uniforms::loadNamedLocations(binaryProgram)),
- attributeLocations(gl::Attributes<AttributeList>::loadNamedLocations(binaryProgram)) {
+ attributeLocations(Attributes::loadNamedLocations(binaryProgram)) {
textures.loadNamedLocations(binaryProgram);
}
@@ -111,7 +115,7 @@ public:
optional<BinaryProgram> get(Context& context, const std::string& identifier) const {
if (auto binaryProgram = context.getBinaryProgram(program)) {
return BinaryProgram{ binaryProgram->first, std::move(binaryProgram->second),
- identifier, gl::Attributes<AttributeList>::getNamedLocations(attributeLocations),
+ identifier, Attributes::getNamedLocations(attributeLocations),
Uniforms::getNamedLocations(uniformsState),
textures.getNamedLocations() };
}
@@ -150,7 +154,7 @@ public:
auto& vertexArray = reinterpret_cast<gl::DrawScopeResource&>(*drawScope.resource).vertexArray;
vertexArray.bind(context,
indexBuffer,
- gl::Attributes<AttributeList>::toBindingArray(attributeLocations, attributeBindings));
+ Attributes::toBindingArray(attributeLocations, attributeBindings));
context.draw(drawMode.primitiveType,
indexOffset,
@@ -161,7 +165,7 @@ private:
UniqueProgram program;
typename Uniforms::State uniformsState;
- typename gl::Attributes<AttributeList>::Locations attributeLocations;
+ typename Attributes::Locations attributeLocations;
gl::Textures<TextureList> textures;
};
diff --git a/src/mbgl/programs/background_program.cpp b/src/mbgl/programs/background_program.cpp
index 99c9c55e84..ce4715f4b9 100644
--- a/src/mbgl/programs/background_program.cpp
+++ b/src/mbgl/programs/background_program.cpp
@@ -10,16 +10,15 @@ using namespace style;
static_assert(sizeof(BackgroundLayoutVertex) == 4, "expected BackgroundLayoutVertex size");
-BackgroundPatternProgram::UniformValues
-BackgroundPatternProgram::uniformValues(mat4 matrix,
- float opacity,
- Size atlasSize,
- const ImagePosition& a,
- const ImagePosition& b,
- const CrossfadeParameters& fading,
- const UnwrappedTileID& tileID,
- const TransformState& state)
-{
+BackgroundPatternProgram::LayoutUniformValues
+BackgroundPatternProgram::layoutUniformValues(mat4 matrix,
+ float opacity,
+ Size atlasSize,
+ const ImagePosition& a,
+ const ImagePosition& b,
+ const CrossfadeParameters& fading,
+ const UnwrappedTileID& tileID,
+ const TransformState& state) {
int32_t tileSizeAtNearestZoom = util::tileSize * state.zoomScale(state.getIntegerZoom() - tileID.canonical.z);
int32_t pixelX = tileSizeAtNearestZoom * (tileID.canonical.x + tileID.wrap * state.zoomScale(tileID.canonical.z));
int32_t pixelY = tileSizeAtNearestZoom * tileID.canonical.y;
diff --git a/src/mbgl/programs/background_program.hpp b/src/mbgl/programs/background_program.hpp
index f5294e4ec8..779005d218 100644
--- a/src/mbgl/programs/background_program.hpp
+++ b/src/mbgl/programs/background_program.hpp
@@ -68,14 +68,14 @@ class BackgroundPatternProgram : public Program<
public:
using Program::Program;
- static UniformValues uniformValues(mat4 matrix,
- float opacity,
- Size atlasSize,
- const ImagePosition&,
- const ImagePosition&,
- const CrossfadeParameters&,
- const UnwrappedTileID&,
- const TransformState&);
+ static LayoutUniformValues layoutUniformValues(mat4 matrix,
+ float opacity,
+ Size atlasSize,
+ const ImagePosition&,
+ const ImagePosition&,
+ const CrossfadeParameters&,
+ const UnwrappedTileID&,
+ const TransformState&);
};
using BackgroundLayoutVertex = BackgroundProgram::LayoutVertex;
diff --git a/src/mbgl/programs/collision_box_program.hpp b/src/mbgl/programs/collision_box_program.hpp
index c7a5167fe3..a1bc6d37a3 100644
--- a/src/mbgl/programs/collision_box_program.hpp
+++ b/src/mbgl/programs/collision_box_program.hpp
@@ -68,7 +68,7 @@ public:
gfx::StencilMode stencilMode,
gfx::ColorMode colorMode,
gfx::CullFaceMode cullFaceMode,
- const UniformValues& uniformValues,
+ const LayoutUniformValues& layoutUniformValues,
const gfx::VertexBuffer<gfx::Vertex<CollisionBoxLayoutAttributes>>& layoutVertexBuffer,
const gfx::VertexBuffer<gfx::Vertex<CollisionBoxDynamicAttributes>>& dynamicVertexBuffer,
const gfx::IndexBuffer& indexBuffer,
@@ -78,7 +78,7 @@ public:
const TextureBindings& textureBindings,
float currentZoom,
const std::string& layerID) {
- typename AllUniforms::Values allUniformValues = uniformValues
+ UniformValues uniformValues = layoutUniformValues
.concat(paintPropertyBinders.uniformValues(currentZoom, currentProperties));
AttributeBindings allAttributeBindings = gfx::Attributes<CollisionBoxLayoutAttributes>::bindings(layoutVertexBuffer)
@@ -101,7 +101,7 @@ public:
std::move(stencilMode),
std::move(colorMode),
std::move(cullFaceMode),
- allUniformValues,
+ uniformValues,
drawScopeIt->second,
gfx::Attributes<AttributeList>::offsetBindings(allAttributeBindings, segment.vertexOffset),
textureBindings,
@@ -156,7 +156,7 @@ public:
gfx::StencilMode stencilMode,
gfx::ColorMode colorMode,
gfx::CullFaceMode cullFaceMode,
- const UniformValues& uniformValues,
+ const LayoutUniformValues& layoutUniformValues,
const gfx::VertexBuffer<gfx::Vertex<CollisionBoxLayoutAttributes>>& layoutVertexBuffer,
const gfx::VertexBuffer<gfx::Vertex<CollisionBoxDynamicAttributes>>& dynamicVertexBuffer,
const gfx::IndexBuffer& indexBuffer,
@@ -166,7 +166,7 @@ public:
const TextureBindings& textureBindings,
float currentZoom,
const std::string& layerID) {
- typename AllUniforms::Values allUniformValues = uniformValues
+ UniformValues uniformValues = layoutUniformValues
.concat(paintPropertyBinders.uniformValues(currentZoom, currentProperties));
AttributeBindings allAttributeBindings = gfx::Attributes<CollisionBoxLayoutAttributes>::bindings(layoutVertexBuffer)
@@ -187,7 +187,7 @@ public:
std::move(stencilMode),
std::move(colorMode),
std::move(cullFaceMode),
- allUniformValues,
+ uniformValues,
drawScopeIt->second,
gfx::Attributes<AttributeList>::offsetBindings(allAttributeBindings, segment.vertexOffset),
textureBindings,
diff --git a/src/mbgl/programs/fill_extrusion_program.cpp b/src/mbgl/programs/fill_extrusion_program.cpp
index fb9c9f7b4a..a2117bddef 100644
--- a/src/mbgl/programs/fill_extrusion_program.cpp
+++ b/src/mbgl/programs/fill_extrusion_program.cpp
@@ -31,10 +31,8 @@ float lightIntensity(const EvaluatedLight& light) {
return light.get<LightIntensity>();
}
-FillExtrusionProgram::UniformValues
-FillExtrusionProgram::uniformValues(mat4 matrix,
- const TransformState& state,
- const EvaluatedLight& light) {
+FillExtrusionProgram::LayoutUniformValues FillExtrusionProgram::layoutUniformValues(
+ mat4 matrix, const TransformState& state, const EvaluatedLight& light) {
return {
uniforms::u_matrix::Value( matrix ),
uniforms::u_lightcolor::Value( lightColor(light) ),
@@ -43,8 +41,8 @@ FillExtrusionProgram::uniformValues(mat4 matrix,
};
}
-FillExtrusionPatternProgram::UniformValues
-FillExtrusionPatternProgram::uniformValues(mat4 matrix,
+FillExtrusionPatternProgram::LayoutUniformValues
+FillExtrusionPatternProgram::layoutUniformValues(mat4 matrix,
Size atlasSize,
const CrossfadeParameters& crossfade,
const UnwrappedTileID& tileID,
diff --git a/src/mbgl/programs/fill_extrusion_program.hpp b/src/mbgl/programs/fill_extrusion_program.hpp
index 3293e8679d..a59161e3e3 100644
--- a/src/mbgl/programs/fill_extrusion_program.hpp
+++ b/src/mbgl/programs/fill_extrusion_program.hpp
@@ -83,10 +83,8 @@ public:
};
}
- static UniformValues uniformValues(mat4,
- const TransformState&,
- const EvaluatedLight&);
-
+ static LayoutUniformValues
+ layoutUniformValues(mat4, const TransformState&, const EvaluatedLight&);
};
class FillExtrusionPatternProgram : public Program<
@@ -101,14 +99,14 @@ class FillExtrusionPatternProgram : public Program<
public:
using Program::Program;
- static UniformValues uniformValues(mat4,
- Size atlasSize,
- const CrossfadeParameters&,
- const UnwrappedTileID&,
- const TransformState&,
- const float heightFactor,
- const float pixelRatio,
- const EvaluatedLight&);
+ static LayoutUniformValues layoutUniformValues(mat4,
+ Size atlasSize,
+ const CrossfadeParameters&,
+ const UnwrappedTileID&,
+ const TransformState&,
+ const float heightFactor,
+ const float pixelRatio,
+ const EvaluatedLight&);
};
using FillExtrusionLayoutVertex = FillExtrusionProgram::LayoutVertex;
diff --git a/src/mbgl/programs/fill_program.cpp b/src/mbgl/programs/fill_program.cpp
index 2c290dd15d..6f1509245f 100644
--- a/src/mbgl/programs/fill_program.cpp
+++ b/src/mbgl/programs/fill_program.cpp
@@ -10,15 +10,14 @@ using namespace style;
static_assert(sizeof(FillLayoutVertex) == 4, "expected FillLayoutVertex size");
-FillPatternProgram::UniformValues
-FillPatternProgram::uniformValues(mat4 matrix,
- Size framebufferSize,
- Size atlasSize,
- const CrossfadeParameters& crossfade,
- const UnwrappedTileID& tileID,
- const TransformState& state,
- const float pixelRatio)
-{
+FillPatternProgram::LayoutUniformValues
+FillPatternProgram::layoutUniformValues(mat4 matrix,
+ Size framebufferSize,
+ Size atlasSize,
+ const CrossfadeParameters& crossfade,
+ const UnwrappedTileID& tileID,
+ const TransformState& state,
+ const float pixelRatio) {
const auto tileRatio = 1 / tileID.pixelsToTileUnits(1, state.getIntegerZoom());
int32_t tileSizeAtNearestZoom = util::tileSize * state.zoomScale(state.getIntegerZoom() - tileID.canonical.z);
int32_t pixelX = tileSizeAtNearestZoom * (tileID.canonical.x + tileID.wrap * state.zoomScale(tileID.canonical.z));
diff --git a/src/mbgl/programs/fill_program.hpp b/src/mbgl/programs/fill_program.hpp
index 18e2488ca4..c684a3d361 100644
--- a/src/mbgl/programs/fill_program.hpp
+++ b/src/mbgl/programs/fill_program.hpp
@@ -70,13 +70,13 @@ class FillPatternProgram : public Program<
public:
using Program::Program;
- static UniformValues uniformValues(mat4 matrix,
- Size framebufferSize,
- Size atlasSize,
- const CrossfadeParameters& crossfade,
- const UnwrappedTileID&,
- const TransformState&,
- const float pixelRatio);
+ static LayoutUniformValues layoutUniformValues(mat4 matrix,
+ Size framebufferSize,
+ Size atlasSize,
+ const CrossfadeParameters& crossfade,
+ const UnwrappedTileID&,
+ const TransformState&,
+ const float pixelRatio);
};
class FillOutlineProgram : public Program<
diff --git a/src/mbgl/programs/line_program.cpp b/src/mbgl/programs/line_program.cpp
index e5b4cc2ad5..2a325e2086 100644
--- a/src/mbgl/programs/line_program.cpp
+++ b/src/mbgl/programs/line_program.cpp
@@ -31,12 +31,12 @@ Values makeValues(const RenderLinePaintProperties::PossiblyEvaluated& properties
};
}
-LineProgram::UniformValues
-LineProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvaluated& properties,
- const RenderTile& tile,
- const TransformState& state,
- const std::array<float, 2>& pixelsToGLUnits) {
- return makeValues<LineProgram::UniformValues>(
+LineProgram::LayoutUniformValues
+LineProgram::layoutUniformValues(const RenderLinePaintProperties::PossiblyEvaluated& properties,
+ const RenderTile& tile,
+ const TransformState& state,
+ const std::array<float, 2>& pixelsToGLUnits) {
+ return makeValues<LineProgram::LayoutUniformValues>(
properties,
tile,
state,
@@ -44,16 +44,16 @@ LineProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvaluated& p
);
}
-LineSDFProgram::UniformValues
-LineSDFProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvaluated& properties,
- float pixelRatio,
- const RenderTile& tile,
- const TransformState& state,
- const std::array<float, 2>& pixelsToGLUnits,
- const LinePatternPos& posA,
- const LinePatternPos& posB,
- const CrossfadeParameters& crossfade,
- float atlasWidth) {
+LineSDFProgram::LayoutUniformValues
+LineSDFProgram::layoutUniformValues(const RenderLinePaintProperties::PossiblyEvaluated& properties,
+ float pixelRatio,
+ const RenderTile& tile,
+ const TransformState& state,
+ const std::array<float, 2>& pixelsToGLUnits,
+ const LinePatternPos& posA,
+ const LinePatternPos& posB,
+ const CrossfadeParameters& crossfade,
+ float atlasWidth) {
const float widthA = posA.width * crossfade.fromScale;
const float widthB = posB.width * crossfade.toScale;
@@ -67,7 +67,7 @@ LineSDFProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvaluated
-posB.height / 2.0f
}};
- return makeValues<LineSDFProgram::UniformValues>(
+ return makeValues<LineSDFProgram::LayoutUniformValues>(
properties,
tile,
state,
@@ -81,18 +81,18 @@ LineSDFProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvaluated
);
}
-LinePatternProgram::UniformValues
-LinePatternProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvaluated& properties,
- const RenderTile& tile,
- const TransformState& state,
- const std::array<float, 2>& pixelsToGLUnits,
- const Size atlasSize,
- const CrossfadeParameters& crossfade,
- const float pixelRatio) {
-
+LinePatternProgram::LayoutUniformValues LinePatternProgram::layoutUniformValues(
+ const RenderLinePaintProperties::PossiblyEvaluated& properties,
+ const RenderTile& tile,
+ const TransformState& state,
+ const std::array<float, 2>& pixelsToGLUnits,
+ const Size atlasSize,
+ const CrossfadeParameters& crossfade,
+ const float pixelRatio) {
+
const auto tileRatio = 1 / tile.id.pixelsToTileUnits(1, state.getIntegerZoom());
- return makeValues<LinePatternProgram::UniformValues>(
+ return makeValues<LinePatternProgram::LayoutUniformValues>(
properties,
tile,
state,
@@ -103,12 +103,12 @@ LinePatternProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvalu
);
}
-LineGradientProgram::UniformValues
-LineGradientProgram::uniformValues(const RenderLinePaintProperties::PossiblyEvaluated& properties,
- const RenderTile& tile,
- const TransformState& state,
- const std::array<float, 2>& pixelsToGLUnits) {
- return makeValues<LineGradientProgram::UniformValues>(
+LineGradientProgram::LayoutUniformValues LineGradientProgram::layoutUniformValues(
+ const RenderLinePaintProperties::PossiblyEvaluated& properties,
+ const RenderTile& tile,
+ const TransformState& state,
+ const std::array<float, 2>& pixelsToGLUnits) {
+ return makeValues<LineGradientProgram::LayoutUniformValues>(
properties,
tile,
state,
diff --git a/src/mbgl/programs/line_program.hpp b/src/mbgl/programs/line_program.hpp
index 8c1f1902c8..f7dffd20e7 100644
--- a/src/mbgl/programs/line_program.hpp
+++ b/src/mbgl/programs/line_program.hpp
@@ -93,10 +93,11 @@ public:
*/
static const int8_t extrudeScale = 63;
- static UniformValues uniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
- const RenderTile&,
- const TransformState&,
- const std::array<float, 2>& pixelsToGLUnits);
+ static LayoutUniformValues
+ layoutUniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
+ const RenderTile&,
+ const TransformState&,
+ const std::array<float, 2>& pixelsToGLUnits);
};
class LinePatternProgram : public Program<
@@ -117,13 +118,14 @@ class LinePatternProgram : public Program<
public:
using Program::Program;
- static UniformValues uniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
- const RenderTile&,
- const TransformState&,
- const std::array<float, 2>& pixelsToGLUnits,
- Size atlasSize,
- const CrossfadeParameters& crossfade,
- const float pixelRatio);
+ static LayoutUniformValues
+ layoutUniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
+ const RenderTile&,
+ const TransformState&,
+ const std::array<float, 2>& pixelsToGLUnits,
+ Size atlasSize,
+ const CrossfadeParameters& crossfade,
+ const float pixelRatio);
};
class LineSDFProgram : public Program<
@@ -147,15 +149,16 @@ class LineSDFProgram : public Program<
public:
using Program::Program;
- static UniformValues uniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
- float pixelRatio,
- const RenderTile&,
- const TransformState&,
- const std::array<float, 2>& pixelsToGLUnits,
- const LinePatternPos& posA,
- const LinePatternPos& posB,
- const CrossfadeParameters& crossfade,
- float atlasWidth);
+ static LayoutUniformValues
+ layoutUniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
+ float pixelRatio,
+ const RenderTile&,
+ const TransformState&,
+ const std::array<float, 2>& pixelsToGLUnits,
+ const LinePatternPos& posA,
+ const LinePatternPos& posB,
+ const CrossfadeParameters& crossfade,
+ float atlasWidth);
};
class LineGradientProgram : public Program<
@@ -173,10 +176,11 @@ class LineGradientProgram : public Program<
public:
using Program::Program;
- static UniformValues uniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
- const RenderTile&,
- const TransformState&,
- const std::array<float, 2>& pixelsToGLUnits);
+ static LayoutUniformValues
+ layoutUniformValues(const RenderLinePaintProperties::PossiblyEvaluated&,
+ const RenderTile&,
+ const TransformState&,
+ const std::array<float, 2>& pixelsToGLUnits);
};
using LineLayoutVertex = LineProgram::LayoutVertex;
diff --git a/src/mbgl/programs/program.hpp b/src/mbgl/programs/program.hpp
index e40eb09951..a179c07cb1 100644
--- a/src/mbgl/programs/program.hpp
+++ b/src/mbgl/programs/program.hpp
@@ -1,9 +1,9 @@
#pragma once
+#include <mbgl/gfx/attribute.hpp>
+#include <mbgl/gfx/uniform.hpp>
#include <mbgl/gl/program.hpp>
-#include <mbgl/gl/features.hpp>
#include <mbgl/programs/segment.hpp>
-#include <mbgl/programs/binary_program.hpp>
#include <mbgl/programs/attributes.hpp>
#include <mbgl/programs/program_parameters.hpp>
#include <mbgl/style/paint_property.hpp>
@@ -18,7 +18,7 @@ namespace mbgl {
template <class Shaders,
class Primitive,
class LayoutAttributeList,
- class UniformList,
+ class LayoutUniformList,
class TextureList,
class PaintProps>
class Program {
@@ -27,17 +27,19 @@ public:
using PaintProperties = PaintProps;
using Binders = PaintPropertyBinders<typename PaintProperties::DataDrivenProperties>;
+
using PaintAttributeList = typename Binders::AttributeList;
using AttributeList = TypeListConcat<LayoutAttributeList, PaintAttributeList>;
using AttributeBindings = typename gfx::Attributes<AttributeList>::Bindings;
- using UniformValues = gfx::UniformValues<UniformList>;
using PaintUniformList = typename Binders::UniformList;
- using AllUniforms = gl::Uniforms<TypeListConcat<UniformList, PaintUniformList>>;
+ using UniformList = TypeListConcat<LayoutUniformList, PaintUniformList>;
+ using LayoutUniformValues = gfx::UniformValues<LayoutUniformList>;
+ using UniformValues = gfx::UniformValues<UniformList>;
using TextureBindings = gfx::TextureBindings<TextureList>;
- using ProgramType = gl::Program<Primitive, AttributeList, AllUniforms, TextureList>;
+ using ProgramType = gl::Program<Primitive, AttributeList, UniformList, TextureList>;
ProgramType program;
@@ -50,12 +52,12 @@ public:
Shaders::fragmentSource)) {
}
- static typename AllUniforms::Values computeAllUniformValues(
- const UniformValues& uniformValues,
+ static UniformValues computeAllUniformValues(
+ const LayoutUniformValues& layoutUniformValues,
const Binders& paintPropertyBinders,
const typename PaintProperties::PossiblyEvaluated& currentProperties,
float currentZoom) {
- return uniformValues
+ return layoutUniformValues
.concat(paintPropertyBinders.uniformValues(currentZoom, currentProperties));
}
@@ -80,7 +82,7 @@ public:
gfx::CullFaceMode cullFaceMode,
const gfx::IndexBuffer& indexBuffer,
const SegmentVector<AttributeList>& segments,
- const typename AllUniforms::Values& allUniformValues,
+ const UniformValues& uniformValues,
const AttributeBindings& allAttributeBindings,
const TextureBindings& textureBindings,
const std::string& layerID) {
@@ -98,7 +100,7 @@ public:
std::move(stencilMode),
std::move(colorMode),
std::move(cullFaceMode),
- allUniformValues,
+ uniformValues,
drawScopeIt->second,
gfx::Attributes<AttributeList>::offsetBindings(allAttributeBindings, segment.vertexOffset),
textureBindings,
diff --git a/src/mbgl/programs/symbol_program.cpp b/src/mbgl/programs/symbol_program.cpp
index 03643d6422..ca003103fd 100644
--- a/src/mbgl/programs/symbol_program.cpp
+++ b/src/mbgl/programs/symbol_program.cpp
@@ -99,17 +99,16 @@ Values makeValues(const bool isText,
};
}
-SymbolIconProgram::UniformValues
-SymbolIconProgram::uniformValues(const bool isText,
- const style::SymbolPropertyValues& values,
- const Size& texsize,
- const std::array<float, 2>& pixelsToGLUnits,
- const bool alongLine,
- const RenderTile& tile,
- const TransformState& state,
- const float symbolFadeChange)
-{
- return makeValues<SymbolIconProgram::UniformValues>(
+SymbolIconProgram::LayoutUniformValues
+SymbolIconProgram::layoutUniformValues(const bool isText,
+ const style::SymbolPropertyValues& values,
+ const Size& texsize,
+ const std::array<float, 2>& pixelsToGLUnits,
+ const bool alongLine,
+ const RenderTile& tile,
+ const TransformState& state,
+ const float symbolFadeChange) {
+ return makeValues<SymbolIconProgram::LayoutUniformValues>(
isText,
values,
texsize,
@@ -122,22 +121,21 @@ SymbolIconProgram::uniformValues(const bool isText,
}
template <class PaintProperties>
-typename SymbolSDFProgram<PaintProperties>::UniformValues SymbolSDFProgram<PaintProperties>::uniformValues(
- const bool isText,
- const style::SymbolPropertyValues& values,
- const Size& texsize,
- const std::array<float, 2>& pixelsToGLUnits,
- const bool alongLine,
- const RenderTile& tile,
- const TransformState& state,
- const float symbolFadeChange,
- const SymbolSDFPart part)
-{
+typename SymbolSDFProgram<PaintProperties>::LayoutUniformValues
+SymbolSDFProgram<PaintProperties>::layoutUniformValues(const bool isText,
+ const style::SymbolPropertyValues& values,
+ const Size& texsize,
+ const std::array<float, 2>& pixelsToGLUnits,
+ const bool alongLine,
+ const RenderTile& tile,
+ const TransformState& state,
+ const float symbolFadeChange,
+ const SymbolSDFPart part) {
const float gammaScale = (values.pitchAlignment == AlignmentType::Map
? std::cos(state.getPitch()) * state.getCameraToCenterDistance()
: 1.0);
- return makeValues<SymbolSDFProgram<PaintProperties>::UniformValues>(
+ return makeValues<SymbolSDFProgram<PaintProperties>::LayoutUniformValues>(
isText,
values,
texsize,
diff --git a/src/mbgl/programs/symbol_program.hpp b/src/mbgl/programs/symbol_program.hpp
index bcaece8e52..b94472dd0c 100644
--- a/src/mbgl/programs/symbol_program.hpp
+++ b/src/mbgl/programs/symbol_program.hpp
@@ -1,6 +1,5 @@
#pragma once
-#include <mbgl/gl/context.hpp>
#include <mbgl/gl/program.hpp>
#include <mbgl/math/clamp.hpp>
#include <mbgl/util/interpolate.hpp>
@@ -243,7 +242,7 @@ public:
template <class Shaders,
class Primitive,
class LayoutAttributeList,
- class UniformList,
+ class LayoutUniformList,
class TextureList,
class PaintProps>
class SymbolProgram : public SymbolProgramBase {
@@ -254,18 +253,20 @@ public:
using PaintProperties = PaintProps;
using Binders = PaintPropertyBinders<typename PaintProperties::DataDrivenProperties>;
+
using PaintAttributeList = typename Binders::AttributeList;
using AttributeList = TypeListConcat<LayoutAndSizeAttributeList, PaintAttributeList>;
using AttributeBindings = typename gfx::Attributes<AttributeList>::Bindings;
- using UniformValues = gfx::UniformValues<UniformList>;
+ using LayoutUniformValues = gfx::UniformValues<LayoutUniformList>;
using SizeUniformList = typename SymbolSizeBinder::UniformList;
using PaintUniformList = typename Binders::UniformList;
- using AllUniforms = gl::Uniforms<TypeListConcat<UniformList, SizeUniformList, PaintUniformList>>;
+ using UniformList = TypeListConcat<LayoutUniformList, SizeUniformList, PaintUniformList>;
+ using UniformValues = gfx::UniformValues<UniformList>;
using TextureBindings = gfx::TextureBindings<TextureList>;
- using ProgramType = gl::Program<Primitive, AttributeList, AllUniforms, TextureList>;
+ using ProgramType = gl::Program<Primitive, AttributeList, UniformList, TextureList>;
ProgramType program;
@@ -278,13 +279,13 @@ public:
Shaders::fragmentSource)) {
}
- static typename AllUniforms::Values computeAllUniformValues(
- const UniformValues& uniformValues,
+ static UniformValues computeAllUniformValues(
+ const LayoutUniformValues& layoutUniformValues,
const SymbolSizeBinder& symbolSizeBinder,
const Binders& paintPropertyBinders,
const typename PaintProperties::PossiblyEvaluated& currentProperties,
float currentZoom) {
- return uniformValues.concat(symbolSizeBinder.uniformValues(currentZoom))
+ return layoutUniformValues.concat(symbolSizeBinder.uniformValues(currentZoom))
.concat(paintPropertyBinders.uniformValues(currentZoom, currentProperties));
}
@@ -315,7 +316,7 @@ public:
gfx::CullFaceMode cullFaceMode,
const gfx::IndexBuffer& indexBuffer,
const SegmentVector<AttributeList>& segments,
- const typename AllUniforms::Values& allUniformValues,
+ const UniformValues& uniformValues,
const AttributeBindings& allAttributeBindings,
const TextureBindings& textureBindings,
const std::string& layerID) {
@@ -333,7 +334,7 @@ public:
std::move(stencilMode),
std::move(colorMode),
std::move(cullFaceMode),
- allUniformValues,
+ uniformValues,
drawScopeIt->second,
gfx::Attributes<AttributeList>::offsetBindings(allAttributeBindings, segment.vertexOffset),
textureBindings,
@@ -368,14 +369,14 @@ class SymbolIconProgram : public SymbolProgram<
public:
using SymbolProgram::SymbolProgram;
- static UniformValues uniformValues(const bool isText,
- const style::SymbolPropertyValues&,
- const Size& texsize,
- const std::array<float, 2>& pixelsToGLUnits,
- const bool alongLine,
- const RenderTile&,
- const TransformState&,
- const float symbolFadeChange);
+ static LayoutUniformValues layoutUniformValues(const bool isText,
+ const style::SymbolPropertyValues&,
+ const Size& texsize,
+ const std::array<float, 2>& pixelsToGLUnits,
+ const bool alongLine,
+ const RenderTile&,
+ const TransformState&,
+ const float symbolFadeChange);
};
enum class SymbolSDFPart {
@@ -430,21 +431,21 @@ public:
textures::u_texture>,
PaintProperties>;
- using UniformValues = typename BaseProgram::UniformValues;
+ using LayoutUniformValues = typename BaseProgram::LayoutUniformValues;
using BaseProgram::BaseProgram;
- static UniformValues uniformValues(const bool isText,
- const style::SymbolPropertyValues&,
- const Size& texsize,
- const std::array<float, 2>& pixelsToGLUnits,
- const bool alongLine,
- const RenderTile&,
- const TransformState&,
- const float SymbolFadeChange,
- const SymbolSDFPart);
+ static LayoutUniformValues layoutUniformValues(const bool isText,
+ const style::SymbolPropertyValues&,
+ const Size& texsize,
+ const std::array<float, 2>& pixelsToGLUnits,
+ const bool alongLine,
+ const RenderTile&,
+ const TransformState&,
+ const float SymbolFadeChange,
+ const SymbolSDFPart);
};
using SymbolSDFIconProgram = SymbolSDFProgram<style::IconPaintProperties>;
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/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp
index ae89a08cac..df2abc5da8 100644
--- a/src/mbgl/renderer/layers/render_background_layer.cpp
+++ b/src/mbgl/renderer/layers/render_background_layer.cpp
@@ -8,7 +8,7 @@
#include <mbgl/programs/background_program.hpp>
#include <mbgl/util/tile_cover.hpp>
#include <mbgl/map/transform_state.hpp>
-#include <mbgl/gl/context.hpp>
+#include <mbgl/gfx/context.hpp>
namespace mbgl {
@@ -91,7 +91,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 +110,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..9ef02e7e45 100644
--- a/src/mbgl/renderer/layers/render_circle_layer.cpp
+++ b/src/mbgl/renderer/layers/render_circle_layer.cpp
@@ -67,7 +67,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..9a93a2e6c5 100644
--- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
@@ -13,7 +13,7 @@
#include <mbgl/util/math.hpp>
#include <mbgl/util/intersection_tests.hpp>
#include <mbgl/tile/geometry_tile.hpp>
-#include <mbgl/gl/context.hpp>
+#include <mbgl/gfx/context.hpp>
namespace mbgl {
@@ -117,7 +117,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 +144,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 +177,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..d17bde005e 100644
--- a/src/mbgl/renderer/layers/render_fill_layer.cpp
+++ b/src/mbgl/renderer/layers/render_fill_layer.cpp
@@ -80,7 +80,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 +169,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..5bb2bddd74 100644
--- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp
+++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp
@@ -100,7 +100,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 +145,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..f75c0ef3a5 100644
--- a/src/mbgl/renderer/layers/render_hillshade_layer.cpp
+++ b/src/mbgl/renderer/layers/render_hillshade_layer.cpp
@@ -74,7 +74,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 +138,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..858ecce9ac 100644
--- a/src/mbgl/renderer/layers/render_line_layer.cpp
+++ b/src/mbgl/renderer/layers/render_line_layer.cpp
@@ -110,7 +110,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 +135,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 +154,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
}
draw(parameters.programs.getLineLayerPrograms().lineGradient,
- LineGradientProgram::uniformValues(
+ LineGradientProgram::layoutUniformValues(
evaluated,
tile,
parameters.state,
@@ -166,7 +166,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..8907d5f9a6 100644
--- a/src/mbgl/renderer/layers/render_raster_layer.cpp
+++ b/src/mbgl/renderer/layers/render_raster_layer.cpp
@@ -82,7 +82,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..d20473e5d1 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -170,7 +170,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 +183,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 +195,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 +233,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 +246,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 +277,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 +313,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 1079c82566..fc873a87f8 100644
--- a/src/mbgl/renderer/paint_property_binder.hpp
+++ b/src/mbgl/renderer/paint_property_binder.hpp
@@ -4,7 +4,6 @@
#include <mbgl/gfx/uniform.hpp>
#include <mbgl/gfx/attribute.hpp>
#include <mbgl/programs/attributes.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>
@@ -517,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_tile.cpp b/src/mbgl/renderer/render_tile.cpp
index d240189d74..55f9276947 100644
--- a/src/mbgl/renderer/render_tile.cpp
+++ b/src/mbgl/renderer/render_tile.cpp
@@ -103,7 +103,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 +126,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 +151,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..51b145d28c 100644
--- a/src/mbgl/renderer/sources/render_image_source.cpp
+++ b/src/mbgl/renderer/sources/render_image_source.cpp
@@ -71,7 +71,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() )
},