return old logic

This commit is contained in:
PavelBARABANOV 2026-03-07 18:03:12 +03:00
parent eaa039b9fd
commit 29523e6dd2

View file

@ -859,18 +859,18 @@ private:
return; return;
} }
has_flushed_end_pending = true; has_flushed_end_pending = true;
// Refresh buffers state before beginning transform feedback so counters are up-to-date
UpdateBuffers();
if (!has_started || buffers_count == 0) { if (!has_started || buffers_count == 0) {
// No counter buffers available: begin without counters // No counter buffers available: begin without counters
scheduler.Record([](vk::CommandBuffer cmdbuf) { scheduler.Record([](vk::CommandBuffer cmdbuf) {
cmdbuf.BeginTransformFeedbackEXT(0, 0, nullptr, nullptr); cmdbuf.BeginTransformFeedbackEXT(0, 0, nullptr, nullptr);
}); });
UpdateBuffers();
return; return;
} }
scheduler.Record([this, total = static_cast<u32>(buffers_count)](vk::CommandBuffer cmdbuf) { scheduler.Record([this, total = static_cast<u32>(buffers_count)](vk::CommandBuffer cmdbuf) {
cmdbuf.BeginTransformFeedbackEXT(0, total, counter_buffers.data(), offsets.data()); cmdbuf.BeginTransformFeedbackEXT(0, total, counter_buffers.data(), offsets.data());
}); });
UpdateBuffers();
} }
void FlushEndTFB() { void FlushEndTFB() {