summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/buckets/symbol_bucket.cpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-22 00:45:03 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-22 12:23:39 +0300
commite582a329ef0150616b0d0e1d7c8f44bd31d92f26 (patch)
tree4e386f7438cf1d80df149634ee32e956e4f63f1f /src/mbgl/renderer/buckets/symbol_bucket.cpp
parent11bfe2398111dbca232b744db9b50119e7d3c495 (diff)
downloadqtlocation-mapboxgl-e582a329ef0150616b0d0e1d7c8f44bd31d92f26.tar.gz
[core] SymbolBacket creates collision buffers optionally
sizeof(SymbolBucket) : 1024 -> 704
Diffstat (limited to 'src/mbgl/renderer/buckets/symbol_bucket.cpp')
-rw-r--r--src/mbgl/renderer/buckets/symbol_bucket.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/mbgl/renderer/buckets/symbol_bucket.cpp b/src/mbgl/renderer/buckets/symbol_bucket.cpp
index cd9fb08d34..83efb232c2 100644
--- a/src/mbgl/renderer/buckets/symbol_bucket.cpp
+++ b/src/mbgl/renderer/buckets/symbol_bucket.cpp
@@ -111,28 +111,28 @@ void SymbolBucket::upload(gfx::UploadPass& uploadPass) {
if (hasCollisionBoxData()) {
if (!staticUploaded) {
- collisionBox.indexBuffer = uploadPass.createIndexBuffer(std::move(collisionBox.lines));
- collisionBox.vertexBuffer = uploadPass.createVertexBuffer(std::move(collisionBox.vertices));
+ collisionBox->indexBuffer = uploadPass.createIndexBuffer(std::move(collisionBox->lines));
+ collisionBox->vertexBuffer = uploadPass.createVertexBuffer(std::move(collisionBox->vertices));
}
if (!placementChangesUploaded) {
- if (!collisionBox.dynamicVertexBuffer) {
- collisionBox.dynamicVertexBuffer = uploadPass.createVertexBuffer(std::move(collisionBox.dynamicVertices), gfx::BufferUsageType::StreamDraw);
+ if (!collisionBox->dynamicVertexBuffer) {
+ collisionBox->dynamicVertexBuffer = uploadPass.createVertexBuffer(std::move(collisionBox->dynamicVertices), gfx::BufferUsageType::StreamDraw);
} else {
- uploadPass.updateVertexBuffer(*collisionBox.dynamicVertexBuffer, std::move(collisionBox.dynamicVertices));
+ uploadPass.updateVertexBuffer(*collisionBox->dynamicVertexBuffer, std::move(collisionBox->dynamicVertices));
}
}
}
if (hasCollisionCircleData()) {
if (!staticUploaded) {
- collisionCircle.indexBuffer = uploadPass.createIndexBuffer(std::move(collisionCircle.triangles));
- collisionCircle.vertexBuffer = uploadPass.createVertexBuffer(std::move(collisionCircle.vertices));
+ collisionCircle->indexBuffer = uploadPass.createIndexBuffer(std::move(collisionCircle->triangles));
+ collisionCircle->vertexBuffer = uploadPass.createVertexBuffer(std::move(collisionCircle->vertices));
}
if (!placementChangesUploaded) {
- if (!collisionCircle.dynamicVertexBuffer) {
- collisionCircle.dynamicVertexBuffer = uploadPass.createVertexBuffer(std::move(collisionCircle.dynamicVertices), gfx::BufferUsageType::StreamDraw);
+ if (!collisionCircle->dynamicVertexBuffer) {
+ collisionCircle->dynamicVertexBuffer = uploadPass.createVertexBuffer(std::move(collisionCircle->dynamicVertices), gfx::BufferUsageType::StreamDraw);
} else {
- uploadPass.updateVertexBuffer(*collisionCircle.dynamicVertexBuffer, std::move(collisionCircle.dynamicVertices));
+ uploadPass.updateVertexBuffer(*collisionCircle->dynamicVertexBuffer, std::move(collisionCircle->dynamicVertices));
}
}
}
@@ -157,11 +157,11 @@ bool SymbolBucket::hasIconData() const {
}
bool SymbolBucket::hasCollisionBoxData() const {
- return !collisionBox.segments.empty();
+ return collisionBox && !collisionBox->segments.empty();
}
bool SymbolBucket::hasCollisionCircleData() const {
- return !collisionCircle.segments.empty();
+ return collisionCircle && !collisionCircle->segments.empty();
}
void addPlacedSymbol(gfx::IndexVector<gfx::Triangles>& triangles, const PlacedSymbol& placedSymbol) {