diff options
-rw-r--r-- | include/mbgl/geometry/elements_buffer.hpp | 8 | ||||
-rw-r--r-- | include/mbgl/geometry/vao.hpp | 15 | ||||
-rw-r--r-- | include/mbgl/renderer/fill_bucket.hpp | 1 | ||||
-rw-r--r-- | include/mbgl/renderer/line_bucket.hpp | 2 | ||||
-rwxr-xr-x | scripts/travis_script.sh | 6 |
5 files changed, 27 insertions, 5 deletions
diff --git a/include/mbgl/geometry/elements_buffer.hpp b/include/mbgl/geometry/elements_buffer.hpp index 1282beb239..56080e29fe 100644 --- a/include/mbgl/geometry/elements_buffer.hpp +++ b/include/mbgl/geometry/elements_buffer.hpp @@ -3,13 +3,14 @@ #include <mbgl/geometry/buffer.hpp> #include <mbgl/geometry/vao.hpp> +#include <mbgl/util/noncopyable.hpp> #include <array> namespace mbgl { template <int count> -struct ElementGroup { +struct ElementGroup : public util::noncopyable { std::array<VertexArrayObject, count> array; uint32_t vertex_length; uint32_t elements_length; @@ -19,6 +20,11 @@ struct ElementGroup { : vertex_length(vertex_length), elements_length(elements_length) { } + + ElementGroup(ElementGroup &&rhs) noexcept + : array(std::move(rhs.array)), + vertex_length(rhs.vertex_length), + elements_length(rhs.elements_length) {}; }; class TriangleElementsBuffer : public Buffer< diff --git a/include/mbgl/geometry/vao.hpp b/include/mbgl/geometry/vao.hpp index 87408ddbad..bb1f571fff 100644 --- a/include/mbgl/geometry/vao.hpp +++ b/include/mbgl/geometry/vao.hpp @@ -3,14 +3,25 @@ #include <mbgl/shader/shader.hpp> #include <mbgl/platform/gl.hpp> +#include <mbgl/util/noncopyable.hpp> #include <stdexcept> namespace mbgl { #if GL_ARB_vertex_array_object -class VertexArrayObject { +class VertexArrayObject : public util::noncopyable { public: + inline VertexArrayObject() {}; + + inline VertexArrayObject(VertexArrayObject &&rhs) noexcept + : vao(rhs.vao), + bound_shader(rhs.bound_shader), + bound_shader_name(rhs.bound_shader_name), + bound_vertex_buffer(rhs.bound_vertex_buffer), + bound_elements_buffer(rhs.bound_elements_buffer), + bound_offset(rhs.bound_offset) {}; + template <typename Shader, typename VertexBuffer> inline void bind(Shader& shader, VertexBuffer &vertexBuffer, char *offset) { bindVertexArrayObject(); @@ -56,7 +67,7 @@ private: #else -class VertexArrayObject { +class VertexArrayObject : public util::noncopyable { public: template <typename Shader, typename Buffers> void bind(Shader& shader, Buffers& buffers, char *offset) { diff --git a/include/mbgl/renderer/fill_bucket.hpp b/include/mbgl/renderer/fill_bucket.hpp index e8d6bf99e1..15868e4092 100644 --- a/include/mbgl/renderer/fill_bucket.hpp +++ b/include/mbgl/renderer/fill_bucket.hpp @@ -36,6 +36,7 @@ class FillBucket : public Bucket { typedef ElementGroup<2> triangle_group_type; typedef ElementGroup<1> line_group_type; + public: FillBucket(FillVertexBuffer& vertexBuffer, TriangleElementsBuffer& triangleElementsBuffer, diff --git a/include/mbgl/renderer/line_bucket.hpp b/include/mbgl/renderer/line_bucket.hpp index a33dde34e0..c7e375a0a1 100644 --- a/include/mbgl/renderer/line_bucket.hpp +++ b/include/mbgl/renderer/line_bucket.hpp @@ -22,6 +22,7 @@ struct pbf; class LineBucket : public Bucket { typedef ElementGroup<1> triangle_group_type; typedef ElementGroup<1> point_group_type; + public: LineBucket(LineVertexBuffer& vertexBuffer, TriangleElementsBuffer& triangleElementsBuffer, @@ -43,7 +44,6 @@ public: const StyleBucketLine &properties; private: - LineVertexBuffer& vertexBuffer; TriangleElementsBuffer& triangleElementsBuffer; PointElementsBuffer& pointElementsBuffer; diff --git a/scripts/travis_script.sh b/scripts/travis_script.sh index f8325e41cc..2fc6029b44 100755 --- a/scripts/travis_script.sh +++ b/scripts/travis_script.sh @@ -10,7 +10,11 @@ if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then make linux -j4 BUILDTYPE=${BUILDTYPE} make test -j4 BUILDTYPE=${BUILDTYPE} ./scripts/run_tests.sh - (cd ./node_modules/mapbox-gl-test-suite/ && (./bin/compare_images.js || true; [[ $TRAVIS_PULL_REQUEST = "false" ]] && ./bin/deploy_results.sh)) + (cd ./node_modules/mapbox-gl-test-suite/ && (./bin/compare_images.js || true)) + + if [ "${TRAVIS_PULL_REQUEST}" == "false" ] ; then + (cd ./node_modules/mapbox-gl-test-suite/ && ./bin/deploy_results.sh) + fi elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then # |