summaryrefslogtreecommitdiff
path: root/src/mbgl/gl/uniform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/gl/uniform.cpp')
-rw-r--r--src/mbgl/gl/uniform.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mbgl/gl/uniform.cpp b/src/mbgl/gl/uniform.cpp
index 2946980c19..3d8a8d53d9 100644
--- a/src/mbgl/gl/uniform.cpp
+++ b/src/mbgl/gl/uniform.cpp
@@ -79,6 +79,11 @@ void bindUniform<std::array<uint16_t, 2>>(UniformLocation location, const std::a
bindUniform(location, util::convert<float>(t));
}
+template <>
+void bindUniform<std::array<uint16_t, 4>>(UniformLocation location, const std::array<uint16_t, 4>& t) {
+ bindUniform(location, util::convert<float>(t));
+}
+
// Add more as needed.
#ifndef NDEBUG
@@ -125,6 +130,12 @@ bool verifyUniform<std::array<float, 3>>(const ActiveUniform& uniform) {
}
template <>
+bool verifyUniform<std::array<float, 4>>(const ActiveUniform& uniform) {
+ assert(uniform.size == 1 && uniform.type == UniformDataType::FloatVec4);
+ return true;
+}
+
+template <>
bool verifyUniform<std::array<double, 16>>(const ActiveUniform& uniform) {
assert(uniform.size == 1 && uniform.type == UniformDataType::FloatMat4);
return true;
@@ -168,6 +179,14 @@ bool verifyUniform<std::array<uint16_t, 2>>(const ActiveUniform& uniform) {
return true;
}
+template <>
+bool verifyUniform<std::array<uint16_t, 4>>(const ActiveUniform& uniform) {
+ assert(uniform.size == 1 &&
+ (uniform.type == UniformDataType::IntVec4 ||
+ uniform.type == UniformDataType::FloatVec4));
+ return true;
+}
+
// Add more as needed.
#endif