We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 524758b commit b23b6b5Copy full SHA for b23b6b5
src/graphics/text/layout.cpp
@@ -166,9 +166,12 @@ void layoutText(
166
// アップロード
167
resource::getBuffer("@buffer-tr@").update(instances.data(), instances.size() * sizeof(TextRenderingInstance), g_offset);
168
169
- // TODO: 連続する場合、1ドローコールにまとめる。
170
- // 前回のsubpassIndexを保持して比較すれば実装できそう。
171
- g_indices[renderPassId][subpassIndex].emplace_back(g_offset, g_offset + instances.size());
+ auto &indexVec = g_indices[renderPassId][subpassIndex];
+ if (!indexVec.empty() && indexVec.back().second == g_offset) {
+ indexVec.back().second = g_offset + instances.size();
172
+ } else {
173
+ indexVec.emplace_back(g_offset, g_offset + instances.size());
174
+ }
175
g_offset += instances.size();
176
}
177
0 commit comments