Drawable Renderer (#1570), CI warnings
This commit is contained in:
committed by
Bart Louwers
parent
d7c9c8b69a
commit
6b4f28d5f4
@@ -136,6 +136,7 @@ public:
|
||||
std::size_t vertexLength);
|
||||
|
||||
void setSegments(gfx::DrawMode, std::vector<uint16_t> indexes, const std::vector<SegmentBase>&);
|
||||
void setSegments(gfx::DrawMode, std::vector<uint16_t> indexes, const SegmentBase*, std::size_t segmentCount);
|
||||
|
||||
/// Add lines based on existing vertices
|
||||
void addLines(const std::vector<uint16_t>& indexes,
|
||||
|
||||
@@ -181,8 +181,16 @@ std::size_t DrawableBuilder::addVertices(const std::vector<std::array<int16_t, 2
|
||||
void DrawableBuilder::setSegments(gfx::DrawMode mode,
|
||||
std::vector<uint16_t> indexes,
|
||||
const std::vector<SegmentBase>& segments) {
|
||||
setSegments(mode, indexes, segments.data(), segments.size());
|
||||
}
|
||||
|
||||
void DrawableBuilder::setSegments(gfx::DrawMode mode,
|
||||
std::vector<uint16_t> indexes,
|
||||
const SegmentBase* segments,
|
||||
std::size_t segmentCount) {
|
||||
impl->indexes = std::move(indexes);
|
||||
for (const auto& seg : segments) {
|
||||
for (std::size_t i = 0; i < segmentCount; ++i) {
|
||||
const auto& seg = segments[i];
|
||||
#if !defined(NDEBUG)
|
||||
if (mode.type == DrawModeType::Triangles) {
|
||||
assert(seg.indexLength % 3 == 0);
|
||||
@@ -191,8 +199,8 @@ void DrawableBuilder::setSegments(gfx::DrawMode mode,
|
||||
}
|
||||
assert(seg.vertexOffset + seg.vertexLength <= impl->vertices.elements());
|
||||
assert(seg.indexOffset + seg.indexLength <= impl->indexes.size());
|
||||
for (decltype(seg.indexLength) i = 0; i < seg.indexLength; ++i) {
|
||||
assert(impl->indexes[seg.indexOffset + i] < impl->vertices.elements());
|
||||
for (decltype(seg.indexLength) j = 0; j < seg.indexLength; ++j) {
|
||||
assert(impl->indexes[seg.indexOffset + j] < impl->vertices.elements());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -410,7 +410,8 @@ void RenderCircleLayer::update(gfx::ShaderRegistry& shaders,
|
||||
|
||||
circleBuilder->setSegments(gfx::Triangles(),
|
||||
bucket.triangles.vector(),
|
||||
reinterpret_cast<const std::vector<SegmentBase>&>(bucket.segments));
|
||||
bucket.segments.data(),
|
||||
bucket.segments.size());
|
||||
|
||||
circleBuilder->flush();
|
||||
|
||||
|
||||
@@ -493,7 +493,8 @@ void RenderFillLayer::update(gfx::ShaderRegistry& shaders,
|
||||
fillBuilder->addVertices(rawVerts, 0, rawVerts.size());
|
||||
fillBuilder->setSegments(gfx::Triangles(),
|
||||
bucket.triangles.vector(),
|
||||
reinterpret_cast<const std::vector<SegmentBase>&>(bucket.triangleSegments));
|
||||
bucket.triangleSegments.data(),
|
||||
bucket.triangleSegments.size());
|
||||
finish(*fillBuilder, tileID, interpolateUBO, tileProps);
|
||||
}
|
||||
if (outlineBuilder) {
|
||||
@@ -503,7 +504,8 @@ void RenderFillLayer::update(gfx::ShaderRegistry& shaders,
|
||||
outlineBuilder->addVertices(rawVerts, 0, rawVerts.size());
|
||||
outlineBuilder->setSegments(gfx::Lines(2),
|
||||
bucket.lines.vector(),
|
||||
reinterpret_cast<const std::vector<SegmentBase>&>(bucket.lineSegments));
|
||||
bucket.lineSegments.data(),
|
||||
bucket.lineSegments.size());
|
||||
finish(*outlineBuilder, tileID, interpolateUBO, tileProps);
|
||||
}
|
||||
} else { // FillPattern is defined
|
||||
@@ -549,7 +551,8 @@ void RenderFillLayer::update(gfx::ShaderRegistry& shaders,
|
||||
patternBuilder->addVertices(rawVerts, 0, rawVerts.size());
|
||||
patternBuilder->setSegments(gfx::Triangles(),
|
||||
bucket.triangles.vector(),
|
||||
reinterpret_cast<const std::vector<SegmentBase>&>(bucket.triangleSegments));
|
||||
bucket.triangleSegments.data(),
|
||||
bucket.triangleSegments.size());
|
||||
|
||||
if (const auto& atlases = tile.getAtlasTextures()) {
|
||||
if (const auto samplerLocation = fillShader->getSamplerLocation("u_image")) {
|
||||
@@ -568,7 +571,8 @@ void RenderFillLayer::update(gfx::ShaderRegistry& shaders,
|
||||
outlinePatternBuilder->setSegments(
|
||||
gfx::Lines(2),
|
||||
bucket.lines.vector(),
|
||||
reinterpret_cast<const std::vector<SegmentBase>&>(bucket.lineSegments));
|
||||
bucket.lineSegments.data(),
|
||||
bucket.lineSegments.size());
|
||||
|
||||
if (const auto& atlases = tile.getAtlasTextures()) {
|
||||
if (const auto samplerLocation = outlineShader->getSamplerLocation("u_image")) {
|
||||
|
||||
@@ -370,7 +370,8 @@ void RenderRasterLayer::update(gfx::ShaderRegistry& shaders,
|
||||
|
||||
builder->setSegments(gfx::Triangles(),
|
||||
bucket.indices.vector(),
|
||||
reinterpret_cast<const std::vector<SegmentBase>&>(bucket.segments));
|
||||
bucket.segments.data(),
|
||||
bucket.segments.size());
|
||||
|
||||
// attributes
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user