Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit ae0a146

Browse files
committed
Don't use vectors when unnecessary
1 parent 4fafb93 commit ae0a146

File tree

9 files changed

+46
-55
lines changed

9 files changed

+46
-55
lines changed

impeller/entity/contents/text_contents.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ bool TextContents::Render(const ContentContext& renderer,
207207
});
208208

209209
cmd.BindVertices({
210-
.vertex_buffers = {buffer_view},
210+
.vertex_buffers = buffer_view,
211211
.index_buffer = {},
212212
.vertex_count = vertex_count,
213213
.index_type = IndexType::kNone,

impeller/entity/geometry/cover_geometry.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ GeometryResult CoverGeometry::GetPositionBuffer(const ContentContext& renderer,
2020
.type = PrimitiveType::kTriangleStrip,
2121
.vertex_buffer =
2222
{
23-
.vertex_buffers = {host_buffer.Emplace(
23+
.vertex_buffers = host_buffer.Emplace(
2424
rect.GetTransformedPoints(entity.GetTransform().Invert())
2525
.data(),
26-
8 * sizeof(float), alignof(float))},
26+
8 * sizeof(float), alignof(float)),
2727
.index_buffer = host_buffer.Emplace(
2828
kRectIndicies, 4 * sizeof(uint16_t), alignof(uint16_t)),
2929
.vertex_count = 4,

impeller/entity/geometry/fill_path_geometry.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ GeometryResult FillPathGeometry::GetPositionBuffer(
2222
auto points = renderer.GetTessellator()->TessellateConvex(
2323
path_, entity.GetTransform().GetMaxBasisLength());
2424

25-
vertex_buffer.vertex_buffers = {host_buffer.Emplace(
26-
points.data(), points.size() * sizeof(Point), alignof(Point))};
25+
vertex_buffer.vertex_buffers = host_buffer.Emplace(
26+
points.data(), points.size() * sizeof(Point), alignof(Point));
2727
vertex_buffer.index_buffer = {}, vertex_buffer.vertex_count = points.size();
2828
vertex_buffer.index_type = IndexType::kNone;
2929

@@ -40,8 +40,8 @@ GeometryResult FillPathGeometry::GetPositionBuffer(
4040
[&vertex_buffer, &host_buffer](
4141
const float* vertices, size_t vertices_count, const uint16_t* indices,
4242
size_t indices_count) {
43-
vertex_buffer.vertex_buffers = {host_buffer.Emplace(
44-
vertices, vertices_count * sizeof(float) * 2, alignof(float))};
43+
vertex_buffer.vertex_buffers = host_buffer.Emplace(
44+
vertices, vertices_count * sizeof(float) * 2, alignof(float));
4545
if (indices != nullptr) {
4646
vertex_buffer.index_buffer = host_buffer.Emplace(
4747
indices, indices_count * sizeof(uint16_t), alignof(uint16_t));

impeller/entity/geometry/geometry.cc

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,18 @@ GeometryResult Geometry::ComputePositionGeometry(
3434
.type = generator.GetTriangleType(),
3535
.vertex_buffer =
3636
{
37-
.vertex_buffers =
38-
{
39-
renderer.GetTransientsBuffer().Emplace(
40-
count * sizeof(VT), alignof(VT),
41-
[&generator](uint8_t* buffer) {
42-
auto vertices = reinterpret_cast<VT*>(buffer);
43-
generator.GenerateVertices(
44-
[&vertices](const Point& p) {
45-
*vertices++ = {
46-
.position = p,
47-
};
48-
});
49-
FML_DCHECK(vertices ==
50-
reinterpret_cast<VT*>(buffer) +
51-
generator.GetVertexCount());
52-
}),
53-
},
37+
.vertex_buffers = renderer.GetTransientsBuffer().Emplace(
38+
count * sizeof(VT), alignof(VT),
39+
[&generator](uint8_t* buffer) {
40+
auto vertices = reinterpret_cast<VT*>(buffer);
41+
generator.GenerateVertices([&vertices](const Point& p) {
42+
*vertices++ = {
43+
.position = p,
44+
};
45+
});
46+
FML_DCHECK(vertices == reinterpret_cast<VT*>(buffer) +
47+
generator.GetVertexCount());
48+
}),
5449
.vertex_count = count,
5550
.index_type = IndexType::kNone,
5651
},
@@ -73,24 +68,20 @@ GeometryResult Geometry::ComputePositionUVGeometry(
7368
.type = generator.GetTriangleType(),
7469
.vertex_buffer =
7570
{
76-
.vertex_buffers =
77-
{
78-
renderer.GetTransientsBuffer().Emplace(
79-
count * sizeof(VT), alignof(VT),
80-
[&generator, &uv_transform](uint8_t* buffer) {
81-
auto vertices = reinterpret_cast<VT*>(buffer);
82-
generator.GenerateVertices(
83-
[&vertices, &uv_transform](const Point& p) { //
84-
*vertices++ = {
85-
.position = p,
86-
.texture_coords = uv_transform * p,
87-
};
88-
});
89-
FML_DCHECK(vertices ==
90-
reinterpret_cast<VT*>(buffer) +
91-
generator.GetVertexCount());
92-
}),
93-
},
71+
.vertex_buffers = renderer.GetTransientsBuffer().Emplace(
72+
count * sizeof(VT), alignof(VT),
73+
[&generator, &uv_transform](uint8_t* buffer) {
74+
auto vertices = reinterpret_cast<VT*>(buffer);
75+
generator.GenerateVertices(
76+
[&vertices, &uv_transform](const Point& p) { //
77+
*vertices++ = {
78+
.position = p,
79+
.texture_coords = uv_transform * p,
80+
};
81+
});
82+
FML_DCHECK(vertices == reinterpret_cast<VT*>(buffer) +
83+
generator.GetVertexCount());
84+
}),
9485
.vertex_count = count,
9586
.index_type = IndexType::kNone,
9687
},
@@ -141,8 +132,8 @@ GeometryResult ComputeUVGeometryForRect(Rect source_rect,
141132
.type = PrimitiveType::kTriangleStrip,
142133
.vertex_buffer =
143134
{
144-
.vertex_buffers = {host_buffer.Emplace(
145-
data.data(), 16 * sizeof(float), alignof(float))},
135+
.vertex_buffers = host_buffer.Emplace(
136+
data.data(), 16 * sizeof(float), alignof(float)),
146137
.vertex_count = 4,
147138
.index_type = IndexType::kNone,
148139
},

impeller/entity/geometry/line_geometry.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ GeometryResult LineGeometry::GetPositionBuffer(const ContentContext& renderer,
100100
.type = PrimitiveType::kTriangleStrip,
101101
.vertex_buffer =
102102
{
103-
.vertex_buffers = {vertex_buffer},
103+
.vertex_buffers = vertex_buffer,
104104
.vertex_count = count,
105105
.index_type = IndexType::kNone,
106106
},
@@ -153,7 +153,7 @@ GeometryResult LineGeometry::GetPositionUVBuffer(Rect texture_coverage,
153153
.type = PrimitiveType::kTriangleStrip,
154154
.vertex_buffer =
155155
{
156-
.vertex_buffers = {vertex_buffer},
156+
.vertex_buffers = vertex_buffer,
157157
.vertex_count = count,
158158
.index_type = IndexType::kNone,
159159
},

impeller/entity/geometry/rect_geometry.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ GeometryResult RectGeometry::GetPositionBuffer(const ContentContext& renderer,
1616
.type = PrimitiveType::kTriangleStrip,
1717
.vertex_buffer =
1818
{
19-
.vertex_buffers = {host_buffer.Emplace(
20-
rect_.GetPoints().data(), 8 * sizeof(float), alignof(float))},
19+
.vertex_buffers = host_buffer.Emplace(
20+
rect_.GetPoints().data(), 8 * sizeof(float), alignof(float)),
2121
.vertex_count = 4,
2222
.index_type = IndexType::kNone,
2323
},

impeller/renderer/compute_subgroup_unittests.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ TEST_P(ComputeSubgroupTest, PathPlayground) {
156156
->count;
157157

158158
cmd.BindVertices(
159-
VertexBuffer{.vertex_buffers = {vertex_buffer->AsBufferView()},
159+
VertexBuffer{.vertex_buffers = vertex_buffer->AsBufferView(),
160160
.vertex_count = count,
161161
.index_type = IndexType::kNone});
162162

@@ -358,7 +358,7 @@ TEST_P(ComputeSubgroupTest, LargePath) {
358358
->count;
359359

360360
cmd.BindVertices(
361-
VertexBuffer{.vertex_buffers = {vertex_buffer->AsBufferView()},
361+
VertexBuffer{.vertex_buffers = vertex_buffer->AsBufferView(),
362362
.vertex_count = count,
363363
.index_type = IndexType::kNone});
364364

@@ -441,7 +441,7 @@ TEST_P(ComputeSubgroupTest, QuadAndCubicInOnePath) {
441441
->count;
442442

443443
cmd.BindVertices(
444-
VertexBuffer{.vertex_buffers = {vertex_buffer->AsBufferView()},
444+
VertexBuffer{.vertex_buffers = vertex_buffer->AsBufferView(),
445445
.vertex_count = count,
446446
.index_type = IndexType::kNone});
447447

impeller/renderer/vertex_buffer_builder.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class VertexBufferBuilder {
8383

8484
VertexBuffer CreateVertexBuffer(HostBuffer& host_buffer) const {
8585
VertexBuffer buffer;
86-
buffer.vertex_buffers = {CreateVertexBufferView(host_buffer)};
86+
buffer.vertex_buffers = CreateVertexBufferView(host_buffer);
8787
buffer.index_buffer = CreateIndexBufferView(host_buffer);
8888
buffer.vertex_count = GetIndexCount();
8989
buffer.index_type = GetIndexType();
@@ -93,7 +93,7 @@ class VertexBufferBuilder {
9393
VertexBuffer CreateVertexBuffer(Allocator& device_allocator) const {
9494
VertexBuffer buffer;
9595
// This can be merged into a single allocation.
96-
buffer.vertex_buffers = {CreateVertexBufferView(device_allocator)};
96+
buffer.vertex_buffers = CreateVertexBufferView(device_allocator);
9797
buffer.index_buffer = CreateIndexBufferView(device_allocator);
9898
buffer.vertex_count = GetIndexCount();
9999
buffer.index_type = GetIndexType();

lib/gpu/render_pass.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,10 +235,10 @@ static void BindVertexBuffer(flutter::gpu::RenderPass* wrapper,
235235
int length_in_bytes,
236236
int vertex_count) {
237237
auto& vertex_buffer = wrapper->GetVertexBuffer();
238-
vertex_buffer.vertex_buffers = {impeller::BufferView{
238+
vertex_buffer.vertex_buffers = impeller::BufferView{
239239
.buffer = buffer,
240240
.range = impeller::Range(offset_in_bytes, length_in_bytes),
241-
}};
241+
};
242242
// If the index type is set, then the `vertex_count` becomes the index
243243
// count... So don't overwrite the count if it's already been set when binding
244244
// the index buffer.

0 commit comments

Comments
 (0)