diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2017-09-07 15:21:05 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-09-12 08:21:51 -0700 |
commit | 73e9ba14390fc5da5c1fb2fc0392accb606e04ff (patch) | |
tree | 5c01969cef25ab4289d62df67ce3d664297334c2 /src/mbgl/programs | |
parent | efe9928ad507cc99fceb78b83c7bcc8eae69b0f9 (diff) | |
download | qtlocation-mapboxgl-73e9ba14390fc5da5c1fb2fc0392accb606e04ff.tar.gz |
[core] Align line vertex to 4-byte boundary
10 byte vertices are heavily penalized by common GL implementations.
Cherry-picks aa4dff1095e8f5e8ad584f5f7dcab3e61d8cf8ee
Diffstat (limited to 'src/mbgl/programs')
-rw-r--r-- | src/mbgl/programs/attributes.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/programs/line_program.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/programs/line_program.hpp | 3 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/mbgl/programs/attributes.hpp b/src/mbgl/programs/attributes.hpp index 53eae49b77..5e3166d082 100644 --- a/src/mbgl/programs/attributes.hpp +++ b/src/mbgl/programs/attributes.hpp @@ -23,7 +23,7 @@ inline uint16_t packUint8Pair(T a, T b) { MBGL_DEFINE_ATTRIBUTE(int16_t, 2, a_pos); MBGL_DEFINE_ATTRIBUTE(int16_t, 2, a_extrude); MBGL_DEFINE_ATTRIBUTE(int16_t, 4, a_pos_offset); -MBGL_DEFINE_ATTRIBUTE(int16_t, 3, a_pos_normal); +MBGL_DEFINE_ATTRIBUTE(int16_t, 4, a_pos_normal); MBGL_DEFINE_ATTRIBUTE(uint16_t, 2, a_texture_pos); MBGL_DEFINE_ATTRIBUTE(int16_t, 3, a_normal); MBGL_DEFINE_ATTRIBUTE(uint16_t, 1, a_edgedistance); diff --git a/src/mbgl/programs/line_program.cpp b/src/mbgl/programs/line_program.cpp index d18dc1e7eb..58e0410b17 100644 --- a/src/mbgl/programs/line_program.cpp +++ b/src/mbgl/programs/line_program.cpp @@ -10,7 +10,7 @@ namespace mbgl { using namespace style; -static_assert(sizeof(LineLayoutVertex) == 10, "expected LineLayoutVertex size"); +static_assert(sizeof(LineLayoutVertex) == 12, "expected LineLayoutVertex size"); template <class Values, class...Args> Values makeValues(const LinePaintProperties::Evaluated& properties, diff --git a/src/mbgl/programs/line_program.hpp b/src/mbgl/programs/line_program.hpp index 0a56ae5dad..9cfc2d3257 100644 --- a/src/mbgl/programs/line_program.hpp +++ b/src/mbgl/programs/line_program.hpp @@ -61,7 +61,8 @@ public: {{ p.x, p.y, - static_cast<int16_t>(attributes::packUint8Pair(round ? 1 : 0, up ? 1 : 0)) + static_cast<int16_t>(round ? 1 : 0), + static_cast<int16_t>(up ? 1 : -1) }}, {{ // add 128 to store a byte in an unsigned byte |