#pragma once #include namespace mbgl { namespace shaders { struct alignas(16) WideVectorUniformsUBO { std::array mvpMatrix; std::array mvpMatrixDiff; std::array mvMatrix; std::array mvMatrixDiff; std::array pMatrix; std::array pMatrixDiff; std::array frameSize; }; static_assert(sizeof(WideVectorUniformsUBO) % 16 == 0); struct alignas(16) WideVectorUniformWideVecUBO { std::array color; float w2; float offset; float edge; float texRepeat; std::array texOffset; float miterLimit; int32_t join; int32_t cap; int32_t hasExp; float interClipLimit; }; static_assert(sizeof(WideVectorUniformWideVecUBO) % 16 == 0); enum { idWideVectorUniformsUBO, idWideVectorUniformWideVecUBO, wideVectorUBOCount }; struct VertexTriWideVecB { // x, y offset around the center std::array screenPos; std::array color; int index; }; static_assert(sizeof(VertexTriWideVecB) == 32); struct VertexTriWideVecInstance { std::array center; std::array color; int32_t prev; int32_t next; int64_t pad_; }; static_assert(sizeof(VertexTriWideVecInstance) == 48); } // namespace shaders } // namespace mbgl