summaryrefslogtreecommitdiff
path: root/src/mbgl/programs/symbol_program.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/programs/symbol_program.hpp')
-rw-r--r--src/mbgl/programs/symbol_program.hpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mbgl/programs/symbol_program.hpp b/src/mbgl/programs/symbol_program.hpp
index 305adf727f..61bfd657eb 100644
--- a/src/mbgl/programs/symbol_program.hpp
+++ b/src/mbgl/programs/symbol_program.hpp
@@ -240,7 +240,7 @@ public:
};
template <class Shaders,
- class Primitive,
+ gfx::PrimitiveType Primitive,
class LayoutAttributeList,
class LayoutUniformList,
class TextureList,
@@ -266,7 +266,7 @@ public:
using TextureBindings = gfx::TextureBindings<TextureList>;
- using ProgramType = gl::Program<Primitive, AttributeList, UniformList, TextureList>;
+ using ProgramType = gl::Program<AttributeList, UniformList, TextureList>;
ProgramType program;
@@ -320,6 +320,7 @@ public:
const AttributeBindings& allAttributeBindings,
const TextureBindings& textureBindings,
const std::string& layerID) {
+ static_assert(Primitive == DrawMode::primitive, "incompatible draw mode");
for (auto& segment : segments) {
auto drawScopeIt = segment.drawScopes.find(layerID);
@@ -347,7 +348,7 @@ public:
class SymbolIconProgram : public SymbolProgram<
shaders::symbol_icon,
- gfx::Triangle,
+ gfx::PrimitiveType::Triangle,
SymbolLayoutAttributes,
TypeList<
uniforms::u_matrix,
@@ -387,7 +388,7 @@ enum class SymbolSDFPart {
template <class PaintProperties>
class SymbolSDFProgram : public SymbolProgram<
shaders::symbol_sdf,
- gfx::Triangle,
+ gfx::PrimitiveType::Triangle,
SymbolLayoutAttributes,
TypeList<
uniforms::u_matrix,
@@ -410,7 +411,7 @@ class SymbolSDFProgram : public SymbolProgram<
{
public:
using BaseProgram = SymbolProgram<shaders::symbol_sdf,
- gfx::Triangle,
+ gfx::PrimitiveType::Triangle,
SymbolLayoutAttributes,
TypeList<
uniforms::u_matrix,