Skip to content

Commit b23b6b5

Browse files
committed
TODO解消
1 parent 524758b commit b23b6b5

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/graphics/text/layout.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,12 @@ void layoutText(
166166
// アップロード
167167
resource::getBuffer("@buffer-tr@").update(instances.data(), instances.size() * sizeof(TextRenderingInstance), g_offset);
168168

169-
// TODO: 連続する場合、1ドローコールにまとめる。
170-
// 前回のsubpassIndexを保持して比較すれば実装できそう。
171-
g_indices[renderPassId][subpassIndex].emplace_back(g_offset, g_offset + instances.size());
169+
auto &indexVec = g_indices[renderPassId][subpassIndex];
170+
if (!indexVec.empty() && indexVec.back().second == g_offset) {
171+
indexVec.back().second = g_offset + instances.size();
172+
} else {
173+
indexVec.emplace_back(g_offset, g_offset + instances.size());
174+
}
172175
g_offset += instances.size();
173176
}
174177

0 commit comments

Comments
 (0)